⊗jsrtPmRtLd 30 of 47 menu

Data loader voor route in React Router

In de vorige les hebben we de productgegevens uit de opslag gehaald. Nu moeten deze gegevens in het route-element worden geladen. Hiervoor wordt de loader functie (loader) gebruikt. Laten we deze nu creëren.

Open root.jsx, voeg hier de importregel getProducts van forStorage.js toe:

import { getProducts } from '../forStorage'

Direct na de importregels en vóór de functie Root schrijven we de code voor de functie loader, die via getProducts de productgegevens uit de opslag zal teruggeven. Eigenlijk moeten dergelijke functies in een apart bestand worden geschreven, maar we zijn een beetje lui, dus let niet op de waarschuwing:

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

Laten we nu de import van onze loader toevoegen aan main.jsx. Deze loader is voor de wortel, dus we noemen het rootLoader:

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

En voeg het toe aan ons route-object in de eigenschap loader:

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

Neem de applicatie die je in de opdrachten bij eerdere lessen hebt gemaakt. Gebruikmakend van de lesmaterialen, schrijf in het bestand root.jsx de functie loader voor het laden van studentgegevens en voeg deze toe aan het route-object in main.jsx.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren