⊗jsrtPmRtRte 23 of 47 menu

Trasy v React Router

Trasy (Routes) jsou nejdůležitější částí aplikace na React Router. Podívejme se na kousek kódu z předchozí lekce:

const router = createBrowserRouter([ { path: '/', element: <div>Hello Router!</div>, }, ]);

Takže, vlastnosti objektu path a element, které jsme předali do funkce při vytváření routeru, jsou vlastnosti objektu Route. Ve skutečnosti, tento objekt má mnoho vlastností, jejich seznam najdete v oficiální dokumentaci. V budoucnu se nám budou hodit některé z nich:

interface RouteObject { path?: string; index?: boolean; children?: React.ReactNode; caseSensitive?: boolean; id?: string; loader?: LoaderFunction; action?: ActionFunction; element?: React.ReactNode | null; Component?: React.ComponentType | null; errorElement?: React.ReactNode | null; ErrorBoundary?: React.ComponentType | null; handle?: RouteObject["handle"]; shouldRevalidate?: ShouldRevalidateFunction; lazy?: LazyRouteFunction<RouteObject>; }

Mohli bychom použít alternativní JSX styl a zapsat vlastnosti jako props pro komponentu Route, pak by náš kousek kódu vypadal takto:

const router = createBrowserRouter( createRoutesFromElements( <Route path = '/' element = {<div>Hello Router!</div>} /> ) );

A samozřejmě by bylo nutné přidat ještě pár řádků do importu:

import { createRoutesFromElements, createBrowserRouter, RouterProvider, Route, } from 'react-router-dom';

Oba styly uvedené v lekci jsou rovnocenné. My se v budoucnu budeme držet první varianty.

Vezměte aplikaci, kterou jste vytvořili v úkolech k předchozím lekcím. Zkuste přepsat kousek kódu pro vytvoření routeru (starý zatím zakomentujte), pomocí alternativního JSX syntaxe, uvedeného v lekci. Ujistěte se, že aplikace funguje.

Vraťte na místo veškerý starý kód, a nový odstraňte. Ujistěte se, že aplikace funguje.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout