⊗jsrtPmRtRte 23 of 47 menu

Ruter i React Router

Ruter (Routes) er den vigtigste del af et program med React Router. Lad os se på et stykke kode fra den forrige lektion:

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

Så, egenskaberne for objektet path og element, som vi passede til funktionen ved oprettelse af routeren, er egenskaber for objektet Route. Faktisk, har dette objekt mange egenskaber, de kan findes i den officielle dokumentation. I fremtiden vil nogle af dem være nyttige for os:

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>; }

Man kunne have brugt en alternativ JSX-stil og skrevet egenskaberne som props for Route-komponenten, så ville vores stykke kode se sådan ud:

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

Og, selvfølgelig, ville det være nødvendigt at tilføje et par linjer mere i importen:

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

Begge de i lektionen viste stile er lige værd. I fremtiden vil vi holde os til den første variant.

Tag det program, du oprettede i opgaverne til de forrige lektioner. Prøv at omskrive stykket kode for oprettelse af routeren (den gamle kan du lige kommentere ud), ved at bruge den alternative JSX-syntaks, vist i lektionen. Vær sikker på, at programmet fungerer.

Sæt al den gamle kode tilbage på plads, og fjern den nye. Vær sikker på, at programmet fungerer.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικά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
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis