⊗jsrtPmRtPR 47 of 47 menu

Njia bila Path katika React Router

Katika somo hili tutachunguza tabia nyingine muhimu ya njia bila path.

Unajua kuwa kwa kila kitu cha njia unaweza kuongeza sifa errorElement na kama thamani kuweka kipengele ambacho unataka kuonyesha wakati hitilafu inatokea.

Lakini je, ikiwa errorElement itakuwa sawa kwa njia zote? Unaweza, hakika kuweka kile kile kwa kila kitu, au unaweza kutumia njia bila path, kuifunga ndani yake njia zetu za watoto zinazotuvutia. Kisha wakati hitilafu itakapotokea kwa moja wapo yao, njia yetu bila path itawakamata na kuonyesha errorElement yake.

Tuingie kwenye faili main.jsx na tufunge katika njia bila path njia zote za watoto, tukizifanya kuwa za watoto kwake (kwa upande wake hii njia itakuwa mtoto wa mzizi), tusisahau kuongeza pia sifa errorElement:

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, }, ], }, ], }, ]);

Vipi sasa kuangalia utendakazi wa msimbo huu? Unaweza kuongeza mstari wa kutupa hitilafu (usisahau kuuondoa baadaye, utakapoiangalia). Wacha, kwa mfano, tuongeze kwenye mstari wa kwanza katika kitendo action kwa njia ya kufuta bidhaa, basi wakati wa kujaribu kufuta bidhaa tutaona hitilafu:

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

Sasa jaribu kufuta bidhaa yoyote.

Chukua programu iliyoundwa na wewe katika kazi za masomo yaliyopita. Kwa kutumia nyenzo za somo, funga njia zako za watoto katika njia bila path na sifa errorElement na uangalie kuwa hii inafanya kazi.

Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa