React Router-ի տեղադրումը Redux հավելվածում

Նախորդ դասերին մենք տեղադրեցինք Redux-ի հետ աշխատելու հիմնական գործիքները: Հաճախ է պատահում, որ հավելվածին անհրաժեշտ է ուղղորդիչ՝ դրա web-էջերի միջև նավարկության համար, և մեր հավելվածը բացառություն չի լինի: Դրա համար մենք կտեղադրենք React Router գրադարանը:

Բացենք մեր նախագիծը և տերմինալում մուտքագրենք հետևյալ հրամանը:

terminalnpm install react-router-dom

Մի քիչ առաջ վազելով՝ կասեմ, որ մեր Redux հավելվածն ավանդաբար նվիրված է ապրանքներին, որոնց մասին տեղեկատվությունը տեղադրում են որոշ վաճառողներ: Ուստի հիմա մենք մի փոքր կվերափոխենք հիմնական App բաղադրիչը, իսկ նաև կավելացնենք հավելվածին ֆունկցիոնալ՝ ուղղորդում իրականացնելու համար:

Սկզբում մտնենք src պանակը, ապա app-ը և ստեղծենք այստեղ root.jsx ֆայլը: Սա կլինի մեր կայքի արմատը. ձախ կողմում կունենանք ընտրացանկ, իսկ աջ կողմում՝ բովանդակություն (ներկայումս մենք այստեղ ունենք միայն վերնագիր).

app/root.jsxfunction Root() {
  return (
    <div id="main">
      <div id="menu">
        <nav>
          <a>Products</a>
          <a>Sellers</a>
        </nav>
      </div>
      <div id="main_page">
        <h2>This is my first Redux app!</h2>
        <hr></hr>
      </div>
    </div>
  )
}

export default Root

Իսկ App բաղադրիչը մենք կվերափոխենք: Սկզբում ամբողջությամբ կջնջենք դրա պարունակությունը: Ապա կներմուծենք երկու ֆունկցիա ռութերի համար և մեր արմատային բաղադրիչը Root.

App.jsximport { createBrowserRouter, RouterProvider } from 'react-router-dom'
import Root from './app/root'

Ներքևում, ներմուծումից հետո, կստեղծենք ռութեր և կգրենք առաջին ուղղորդը՝ փոխանցելով դրան մեր Root-ը որպես ցուցադրվող տարր և, համապատասխանաբար, սահմանելով ճանապարհը որպես '/': Հետագայում App-ում մենք կավելացնենք նաև այլ անհրաժեշտ ուղղորդներ.

App.jsxconst router = createBrowserRouter([{ path: '/', element: <Root /> }])

Ներքևում կգրենք App ֆունկցիայի կոդը.

App.jsxfunction App() {
  return <RouterProvider router={router} />
}

export default App

Վերջ: Գործարկում ենք: Հաջորդ բաժնում մենք կիրականացնենք Redux հավելվածի աշխատանքի համար նախատեսված բաղադրիչները:

Վերջում մի քիչ գեղեցկություն ավելացնենք՝ դրա համար սթայլերը գրելով index.css-ում.

index.cssbody {
  font-size: 24px;
  line-height: 1.5;
}

nav {
  display: flex;
  flex-direction: column;
}

ul {
  list-style: none;
  padding: 0;
}

h1, h2, h3 {
  margin: 0;
}

a {
  text-decoration: none;
  color: blue;
  cursor: pointer;
}

#main {
  display: flex;
  margin: 20px;
}

#menu {
  margin-right: 50px;
  padding-top: 50px;
  padding-right: 50px;
  border-right: 2px solid lightgray;
  font-weight: bold;
}
Задание 1

Ավելացրեք React Router ձեր հավելվածին:

Задание 2

Թող ձեր հավելվածը վերաբերի ուսանողներին, որոնց մասին տեղեկատվությունը կտեղադրեն դասախոսները: Հաշվի առնելով դա, ստեղծեք արմատային Root բաղադրիչը: Վերափոխեք App բաղադրիչը, ինչպես նկարագրված է դասում: