⊗jsrtPmRtRte 23 of 47 menu

Ruter i React Router

Ruter (Routes) er den viktigste delen av et applikasjon i React Router. La oss se på et kodesnippet fra forrige leksjon:

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

Så, egenskapene path og element som vi sendte til funksjonen når vi opprettet ruteren, er egenskapene til Route-objektet. Faktisk, har dette objektet mange egenskaper, de kan finnes i den offisielle dokumentasjonen. Fremover vil noen av dem være nyttige for oss:

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 ha brukt en alternativ JSX-stil og skrevet egenskapene som props for Route-komponenten, da ville kodesnutten vår sett slik ut:

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

Og, selvfølgelig, måtte man ha lagt til et par linjer til i importen:

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

Begge stilartene presentert i leksjonen er likeverdige. Vi vil i det videre holde oss til den første varianten.

Ta applikasjonen du opprettet i oppgavene til de foregående leksjonene. Prøv å omskrive kodesnutten for opprettelse av routeren (den gamle kan du kommentere ut foreløpig), ved å bruke den alternative JSX-syntaksen presentert i leksjonen. Forsikre deg om at applikasjonen fungerer.

Sett tilbake all den gamle koden, og fjern den nye. Forsikre deg om at applikasjonen fungerer.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis