⊗jsrtPmRtGLDP 36 of 47 menu

Ophalen van laadprogrammagegevens via URL-parameters in React Router

In de vorige les hebben we een functie geschreven voor het ophalen van gegevens van de productpagina, laten we getProduct importeren in het bestand product.jsx:

import { getProduct } from '../forStorage';

Laten we de laadprogrammafunctie loader schrijven direct na de import en vóór de functie Product. Laten we de URL-parameters doorgeven:

export async function loader({ params }) { const product = await getProduct(params.productId); return { product }; }

Importeer ook de hook useLoaderData voor het gebruik van gegevens die door het laadprogramma zijn verkregen:

import { useLoaderData } from 'react-router-dom';

Laten we useLoaderData toepassen, en dienovereenkomstig de regel met het aanmaken van het object product aan het begin van de functie Product vervangen door het volgende:

const { product } = useLoaderData();

En natuurlijk passen we onze opmaak een beetje aan, omdat we het oude object product hebben verwijderd. Laten we de inhoud van de paragrafen vervangen:

<p>Naam: {product.name}</p> <p>Kosten: {product.cost}</p> <p>Hoeveelheid: {product.amount}</p>

Door het volgende:

<p>Naam: {product.name ? product.name : <i>naamloos</i>}</p> <p>Kosten: {product.cost ? product.cost : <i>onbekend</i>}</p> <p>Hoeveelheid: {product.amount ? product.amount : <i>onbekend</i>}</p>

We hoeven alleen nog main.jsx te openen en daar de import van loader toe te voegen, laten we het productLoader noemen:

import Product, { loader as productLoader, } from './routes/product';

En het te registreren als laadprogramma voor het route-object van de productpagina, door het toe te voegen aan children na de eigenschap element:

children: [ { path: 'products/:productId', element: <Product />, loader: productLoader, }, ],

Klaar, we hebben het ophalen van gegevens voor de productpagina afgerond! Alleen, er is nog niets om te laden. Start de applicatie, voeg producten toe en klik erop in de lijst om te controleren of alles werkt.

Neem de applicatie die je hebt gemaakt in opdrachten bij eerdere lessen. Gebruikmakend van de lesmaterialen, implementeer een loader, sluit deze aan, gebruik de gegevens ervan voor de pagina van een student.

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