⊗jsrtPmRtLd 30 of 47 menu

Data Loader for Route in React Router

I den forrige lektion udtrak vi data for produkter fra lageret. Nu skal disse data indlæses i ruteelementet. Til dette bruges loader-funktionen (loader). Lige nu vil vi oprette den.

Lad os åbne root.jsx og tilføje en importlinje for getProducts fra forStorage.js:

import { getProducts } from '../forStorage'

Lige efter importlinjerne og før funktionen Root skriver vi koden for funktionen loader, som via getProducts vil returnere produktdataene fra lageret. Generelt skal sådanne funktioner skrives i en separat fil, men vi vil være lidt dovne, så ignorer advarslen:

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

Lad os nu tilføje importen af vores loader til main.jsx. Denne loader vil være for roden, så vi kalder den rootLoader:

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

Og vi tilføjer den til vores ruteobjekt i egenskaben loader:

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

Tag det program, du oprettede i opgaverne til de foregående lektioner. Brug materialet fra lektionen, og skriv i filen root.jsx funktionen loader for at indlæse studerendes data og tilføj den til ruteobjektet i main.jsx.

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