React router » Historie » Verze 2
Jiří Trefil, 2023-03-26 20:59
1 | 1 | Jiří Trefil | h1. React router |
---|---|---|---|
2 | 2 | Jiří Trefil | |
3 | React router funguje obdobně jako jakýkoliv jiný router (softwarový, abstraktně i ten hardwarový) - pro konkrétní url přesměrovává requesty konkrétním komponentám. |
||
4 | Následující code snippet definuje jednoduchý router pro 3 koncové body Reactí aplikace a příslušné komponenty, které jsou mountovány při requestu na tento endpoint. |
||
5 | |||
6 | <pre> <code class="react"> |
||
7 | import React from "react" |
||
8 | //naimportime samotny router - je nutne jej nainstalovat |
||
9 | import {BrowserRouter, Routes, Route} from "react-router-dom"; |
||
10 | //naimpotime konfiguraci stranek, ktere mame vytvorene |
||
11 | import {pages} from "./pagesData"; |
||
12 | //vlastni datovy typ pro itemy, kterym router rozumi |
||
13 | import {RouterType} from "../lib/global/datatypes"; |
||
14 | |||
15 | const Router = () =>{ |
||
16 | //vytvorime jednotlive routes |
||
17 | //title je nadpis, ktery bude element mit, napriklad "Nahrat soubor" |
||
18 | //path je samotne URL, ktere bude poslouchano a smerovana na konkretni element |
||
19 | //element je samotna komponenta, ktera bude zavolana pri samotnem requestu |
||
20 | const routes = pages.map(({ path, title, element }: RouterType) =>{ |
||
21 | return <Route key={title} path= {path} element={element}/> |
||
22 | }); |
||
23 | return( |
||
24 | //obalime jednotlive routes samotnym routerem |
||
25 | <BrowserRouter> |
||
26 | <Routes> |
||
27 | {routes} |
||
28 | </Routes> |
||
29 | </BrowserRouter> |
||
30 | ) |
||
31 | } |
||
32 | export default Router; |
||
33 | </pre></code> |