⊗jsrtPmRtGLDP 36 of 47 menu

Die Verkryging van Laaier Data vanaf URL Parameters in React Router

In die vorige les het ons 'n funksie geskryf om data vir die produkbladsy te verkry, laat ons getProduct in die lêer product.jsx invoer:

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

Laat ons die laaierfunksie loader skryf direk na die invoer en voor die funksie Product. Laat ons die URL parameters daaraan oordra:

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

Laat ons ook die hook useLoaderData invoer vir die gebruik van data wat deur die laaier verkry is:

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

Laat ons useLoaderData toepas, en dus die lyn wat die objek product skep aan die begin van die funksie Product vervang met die volgende:

const { product } = useLoaderData();

En, natuurlik, laat ons ons opmaak 'n bietjie verander, aangesien ons die ou objek product verwyder het. Laat ons die inhoud van die paragrawe vervang:

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

Met die volgende:

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

Ons moet net main.jsx oopmaak en die invoer van loader daar byvoeg, kom ons noem dit productLoader:

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

En om dit as die laaier te spesifiseer vir die roete-objek van die produkbladsy, deur dit by te voeg in children na die eienskap element:

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

Dit is alles, ons het die laai van data vir die produkbladsy uitgepluis! Alhoewel, ons het niks om te laai nie. Begin die toepassing, voeg produkte by en klik op hulle in die lys om seker te maak alles werk.

Neem die toepassing wat jy in die take van vorige lesse geskep het. Gebruik die lesmateriaal, implementeer die loader, koppel dit, en gebruik die data daarvan vir die studentbladsy.

Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp