⊗jsrtPmRtPR 47 of 47 menu

Pfadlose Route in React Router

In dieser Lektion werden wir eine weitere nützliche Eigenschaft der pfadlosen Route betrachten.

Sie wissen, dass Sie für jedes Routenobjekt die Eigenschaft errorElement hinzufügen können und als Wert das Element festlegen können, das bei einem Fehler angezeigt werden soll.

Aber was, wenn unser errorElement für alle Routen gleich sein wird? Man könnte natürlich für jede Route dasselbe hinschreiben, oder man kann eine pfadlose Route verwenden, um die gewünschten Kinderrouten darin zu wrappen. Dann wird im Fehlerfall bei einer von ihnen unsere pfadlose Route diese abfangen und ihr errorElement anzeigen.

Gehen wir in die main.jsx Datei und wrappen alle unsere Kinderrouten in eine pfadlose Route, machen sie zu deren Kindern (diese Route wird selbst ein Kind der Root-Route) und vergessen nicht, ihr ebenfalls die Eigenschaft errorElement hinzuzufügen:

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

Wie überprüft man nun die Funktionsweise dieses Codes? Man kann eine Zeile hinzufügen, die einen Fehler wirft (vergessen Sie nicht, sie später zu entfernen, wenn Sie fertig mit dem Testen sind). Fügen wir sie zum Beispiel als erste Zeile in die action Funktion für die Route zum Löschen eines Produkts ein, dann werden wir beim Versuch, ein Produkt zu löschen, einen Fehler sehen:

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

Versuchen Sie nun, ein Produkt zu löschen.

Nehmen Sie die Anwendung, die Sie in den Aufgaben zu den vorherigen Lektionen erstellt haben. Nutzen Sie die Materialien der Lektion, um Ihre Kinderrouten in eine pfadlose Route mit der Eigenschaft errorElement zu wrappen und überprüfen Sie, dass dies funktioniert.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικά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
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen