Устаноўка React Router у Redux прыкладанне
На мінулых уроках мы ўстанавілі асноўныя інструменты для работы з Redux. Часта бывае так, што прыкладанню патрэбен маршрутызатар для навігацыі па яго web-старонках і наша прыкладанне не стане выключэннем. Для гэтага мы ўсталюем бібліятэку React Router.
Адкрыем наш праект і набярэм у тэрмінале наступную каманду:
npm install react-router-dom
Забегаючы крыху наперад, скажу, што наша
Redux прыкладанне традыцыйна прысвечана
прадуктам, інфармацыя пра якія выкладваецца
нейкімі прадаўцамі. Таму зараз мы крыху
пераробім галоўны кампанент App, а
таксама дадамо ў прыкладанне функцыянал для
ажыццяўлення маршрутызацыі.
Для пачатку зайдзем у папку src, а затым
у app і створым тут файл root.jsx. Гэта
будзе корань нашага сайта: злева ў нас будзе менюшка,
а справа - кантэнт (пакуль жа ў нас тут
толькі загаловак):
function 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:
import { createBrowserRouter, RouterProvider } from 'react-router-dom'
import Root from './app/root'
Ніжэй пасля імпарту створым роўтар,
і прапішам першы маршрут, перадаўшы яму
наш Root у якасці адлюстроўваемага элемента
і, адпаведна, устанавіўшы шлях у '/'.
У далейшым у App мы будзем дадаваць і
іншыя неабходныя маршруты:
const router = createBrowserRouter([{ path: '/', element: <Root /> }])
Ніжэй напішам код функцыі App:
function App() {
return <RouterProvider router={router} />
}
export default App
Усё. Запускаем. У наступным раздзеле мы будзем рэалізоўваць кампаненты для работы Redux прыкладання.
Напачатку дадамо крыху прыгажосці, прапісаўшы для
гэтага стылі ў index.css:
body {
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;
}
Дадайце React Router у ваша прыкладанне.
Хай ваша прыкладанне будзе тычыцца
студэнтаў, інфармацыю пра якіх будуць
выкладваць выкладчыкі. Улічваючы гэта,
стварыце каранёвы кампанент Root.
Перарабіце кампанент App як
апісана ў уроку.