⊗jsrtPmRtPR 47 of 47 menu

Δρομολόγιο χωρίς διαδρομή στο React Router

Σε αυτό το μάθημα, θα εξετάσουμε ακόμη μια χρήσιμη ιδιότητα του δρομολογίου χωρίς διαδρομή.

Γνωρίζετε ότι για κάθε αντικείμενο δρομολογίου μπορείτε να προσθέσετε μια ιδιότητα errorElement και ως τιμή να ορίσετε το στοιχείο που θέλετε να εμφανίζεται όταν προκύψει σφάλμα.

Αλλά τι γίνεται αν το errorElement είναι το ίδιο για όλα τα δρομολόγια; Μπορούμε, φυσικά, να το βάλουμε το ίδιο σε κάθε ένα, ή μπορούμε να χρησιμοποιήσουμε ένα δρομολόγιο χωρίς διαδρομή, να τυλίξουμε μέσα σε αυτό τα θυγατρικά δρομολόγια που μας ενδιαφέρουν. Τότε, σε περίπτωση που προκύψει σφάλμα σε ένα από αυτά, το δρομολόγιο μας χωρίς διαδρομή θα τα πιάνει και θα εμφανίζει το δικό του errorElement.

Ας πάμε στο αρχείο main.jsx και ας τυλίξουμε σε ένα δρομολόγιο χωρίς διαδρομή όλα τα θυγατρικά μας δρομολόγια, κάνοντάς τα θυγατρικά του (με τη σειρά του αυτό το δρομολόγιο θα γίνει θυγατρικό του ριζικού), ας μην ξεχάσουμε να του προσθέσουμε επίσης την ιδιότητα 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, }, ], }, ], }, ]);

Πώς μπορούμε τώρα να ελέγξουμε τη λειτουργία αυτού του κώδικα; Μπορούμε να προσθέσουμε μια γραμμή που ρίχνει σφάλμα (μην ξεχάσετε να την αφαιρέσετε αργότερα, όταν το ελέγξετε). Ας προσθέσουμε, για παράδειγμα, αυτή τη γραμμή ως πρώτη γραμμή στη συνάρτηση action για τη διαδρομή διαγραφής προϊόντος, τότε όταν προσπαθήσουμε να διαγράψουμε ένα προϊόν θα δούμε το σφάλμα:

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

Τώρα δοκιμάστε να διαγράψετε κάποιο προϊόν.

Πάρτε την εφαρμογή που δημιουργήσατε στα παραδοτέα προηγούμενων μαθημάτων. Χρησιμοποιώντας το υλικό του μαθήματος, τυλίξτε τα θυγατρικά σας δρομολόγια σε ένα δρομολόγιο χωρίς διαδρομή με την ιδιότητα errorElement και ελέγξτε ότι λειτουργεί.

Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη