Инсталација React Router-а у Redux апликацију
На претходним лекцијама смо инсталирали основне алате за рад са Redux-ом. Често се дешава да апликацији треба рутер за навигацију по њеним веб страницама и наша апликација неће бити изузетак. За то ћемо инсталирати библиотеку React Router.
Отворимо наш пројекат и укуцајмо у терминалу следећу команду:
npm install react-router-dom
Да мало скочимо напред, рећи ћу да је наша
Redux апликација традиционално посвећена
производима, о којима информације постављају
неки продавци. Зато ћемо сада мало
прерадити главни компонент App, а
такође додати у апликацију функционалност за
обављање рутирања.
За почетак, идите у фасциклу src, а затим
у app и направите овде фајл root.jsx. Ово
ће бити корен нашег сајта: лево ће нам бити мени,
а десно - садржај (за сада овде имамо
само наслов):
function Root() {
return (
<div id="main">
<div id="menu">
<nav>
<a>Производи</a>
<a>Продавци</a>
</nav>
</div>
<div id="main_page">
<h2>Ово је моја прва Redux апликација!</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 као
што је описано у лекцији.