⊗jsrtPmRtPR 47 of 47 menu

Roete sonder pad in React Router

In hierdie les sal ons nog een nuttige eienskap van 'n roete sonder pad ondersoek.

Jy weet dat vir elke roetevoorwerp jy die eienskap errorElement kan byvoeg en as waarde die element stel wat jy wil vertoon wanneer 'n fout voorkom.

Maar wat as ons errorElement dieselfde sal wees vir alle roetes? Ons kan, weliswaar, dieselfde een vir elkeen aansit, of ons kan 'n roete sonder pad gebruik, en die kinderoetes waarin ons belangstel daarin toedraai. Dan, in die geval van 'n fout op een van hulle, sal ons roete sonder pad dit vang en sy errorElement vertoon.

Laat ons in die main.jsx lêer gaan en al ons kinderoetes in 'n roete sonder pad toedraai, en hulle kinders daarvan maak (op sy beurt sal hierdie roete 'n kind word van die wortel), ons moet ook nie vergeet om vir hom die eienskap errorElement by te voeg nie:

const router = createBrowserRouter([ { path: '/', element: <Root />, errorElement: <ErrorPage404 />, loader: rootLoader, action: rootAction, children: [ { errorElement: <ErrorPage404 />, children: [ { index: true, element: <Index /> }, { path: 'products/:productId', element: <Product />, loader: productLoader, }, { path: 'products/:productId/edit', element: <EditProduct />, loader: editProductLoader, action: editAction, }, { path: 'products/:productId/delete', action: deleteAction, }, ], }, ], }, ]);

Hoe kan ons nou die werk van hierdie kode toets? Ons kan 'n lyn byvoeg wat 'n fout gooi (moet nie later vergeet om dit te verwyder nie, wanneer jy getoets het). Kom ons byvoorbeeld, voeg dit as die eerste lyn in die funksie action vir die roete van die verwydering van die produk by, dan sal ons met die poging om die produk te verwyder 'n fout sien:

export async function action({ params }) { throw new Error('error'); await deleteProduct(params.productId); return redirect('/'); }

Probeer nou om een of ander produk te verwyder.

Neem die toepassing wat jy in die opdragte vir vorige lesse geskep het. Gebruik die materiaal van die les, draai jou kinderoetes in 'n roete sonder pad met die eienskap errorElement en toets, dat dit werk.

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