Namestitev React Router v aplikacijo Redux
V prejšnjih lekcijah smo namestili glavna orodja za delo z Redux. Pogosto se zgodi, da aplikacija potrebuje usmerjevalnik za krmarjenje po njenih spletnih straneh in naša aplikacija ne bo izjema. Za to bomo namestili knjižnico React Router.
Odprimo naš projekt in v terminalu vtipkajmo naslednji ukaz:
npm install react-router-dom
Malce prehitevajoč, bom povedal, da je naša
Redux aplikacija tradicionalno posvečena
izdelkom, o katerih informacije objavljajo
določeni prodajalci. Zato bomo zdaj malce
predelali glavno komponento App, in
dodali v aplikacijo funkcionalnost za
izvajanje usmerjanja.
Za začetek pojdimo v mapo src, nato pa
v app in tu ustvarimo datoteko root.jsx. To
bo koren naše spletne strani: na levi bomo imeli meni,
na desni pa vsebino (za zdaj imamo tu
samo naslov):
function Root() {
return (
<div id="main">
<div id="menu">
<nav>
<a>Izdelki</a>
<a>Prodajalci</a>
</nav>
</div>
<div id="main_page">
<h2>To je moja prva Redux aplikacija!</h2>
<hr></hr>
</div>
</div>
)
}
export default Root
Komponento App pa bomo predelali. Za začetek
popolnoma izbrišimo njeno vsebino. Nato
uvažajmo dve funkciji za usmerjevalnik in našo
korensko komponento Root:
import { createBrowserRouter, RouterProvider } from 'react-router-dom'
import Root from './app/root'
Spodaj po uvažanju ustvarimo usmerjevalnik,
in napišimo prvo pot, tako da ji posredujemo
naš Root kot prikazani element
in, ustrezno, nastavimo pot na '/'.
V nadaljevanju bomo v App dodali še
druge potrebne poti:
const router = createBrowserRouter([{ path: '/', element: <Root /> }])
Spodaj napišimo kodo funkcije App:
function App() {
return <RouterProvider router={router} />
}
export default App
Vse. Zaženemo. V naslednjem razdelku bomo implementirali komponente za delovanje Redux aplikacije.
Za konec dodajmo malo lepote, tako da za
to napišemo sloge 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;
}
Dodajte React Router v vašo aplikacijo.
Naj bo vaša aplikacija posvečena
študentom, o katerih bodo informacije
objavljali učitelji. Glede na to,
ustvarite korensko komponento Root.
Predelajte komponento App kot
je opisano v lekciji.