⊗jsrtPmRtLd 30 of 47 menu

Datalaster for rute i React Router

I forrige leksjon hentet vi dataene fra produkter fra lagringsstedet. Nå må disse dataene lastes inn i ruteelementet. For dette brukes en lasterfunksjon (loader). Nå skal vi opprette den.

La oss åpne root.jsx, og legge til en importeringslinje for getProducts fra forStorage.js:

import { getProducts } from '../forStorage'

Rett etter importeringslinjene og før funksjonen Root skal vi skrive koden for funksjonen loader, som via getProducts vil returnere produktdataene fra lagringsstedet. Egentlig bør slike funksjoner skrives i en egen fil, men vi skal være litt late, så ikke ta hensyn til advarselen:

export async function loader() { const products = await getProducts(); return { products }; }

La oss nå legge til importen av vår laster i main.jsx. Denne lasteren vil være for roten, så vi kaller den rootLoader:

import Root, { loader as rootLoader } from './routes/root';

Og legg den til i vårt ruteobjekt i egenskapen loader:

const router = createBrowserRouter([ { path: '/', element: <Root />, errorElement: <ErrorPage404 />, loader: rootLoader, children: [ { path: 'products/:productId', element: <Product />, }, ], }, ]);

Ta applikasjonen du opprettet i oppgavene til de foregående leksjonene. Bruk materialet fra leksjonen, skriv i filen root.jsx funksjonen loader for lasting av studentdata og legg den til i ruteobjektet i main.jsx.

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