Inštalácia React Router v Redux aplikácii
Na predchádzajúcich lekciách sme nainštalovali hlavné nástroje pre prácu s Reduxom. Často sa stáva, že aplikácia potrebuje smerovač pre navigáciu medzi jej webovými stránkami a naša aplikácia nebude výnimkou. Preto nainštalujeme knižnicu React Router.
Otvorme náš projekt a napíšme do terminálu nasledujúci príkaz:
npm install react-router-dom
Keď trochu nahliadneme do budúcnosti, poviem, že naša
Redux aplikácia je tradične venovaná
produktom, o ktorých informácie zverejňujú
nejakí predajcovia. Preto teraz trochu
upravíme hlavný komponent App, a
tiež pridáme do aplikácie funkcionalitu pre
realizáciu smerovania.
Na začiatok vojdime do priečinka src, a potom
do app a vytvorme tu súbor root.jsx. Toto
bude koreň našej stránky: naľavo budeme mať menu,
a napravo - obsah (zatiaľ tu máme
len nadpis):
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
A komponent App upravíme. Na začiatok
úplne odstránime jeho obsah. Potom
importujeme dve funkcie pre router a naš
koreňový komponent Root:
import { createBrowserRouter, RouterProvider } from 'react-router-dom'
import Root from './app/root'
Nižšie po importe vytvoríme router,
a napíšeme prvú trasu, odovzdaním mu
náš Root ako zobrazovaného elementu
a, zodpovedajúco, nastavením cesty na '/'.
V budúcnosti do App budeme pridávať aj
ďalšie potrebné trasy:
const router = createBrowserRouter([{ path: '/', element: <Root /> }])
Nižšie napíšeme kód funkcie App:
function App() {
return <RouterProvider router={router} />
}
export default App
Všetko. Spustíme. V ďalšej časti budeme realizovať komponenty pre prácu Redux aplikácie.
Na zápridáme trochu krásy, napísaním pre
to štýlov v 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;
}
Pridajte React Router do vašej aplikácie.
Nech sa vaša aplikácia týka
študentov, o ktorých informácie budú
zverejňovať učitelia. S ohľadom na to,
vytvorte koreňový komponent Root.
Upravte komponent App ako
je popísané v lekcii.