⊗jsrtPmRtNFE 25 of 47 menu

Gestione dell'errore Not Found in React Router

Quando si crea un'applicazione, è necessario prestare attenzione anche alla comparsa di vari errori durante il suo utilizzo successivo. In questa lezione impareremo a lavorare con l'errore 'Not Found'. Questo errore può apparire, ad esempio, se un utente fa clic su un link che porta a una pagina inesistente.

Per iniziare, apriamo la nostra applicazione, che abbiamo creato nelle lezioni precedenti, e sostituiamo il markup del componente Root. Ora all'avvio dell'applicazione verrà visualizzato un elenco di due prodotti:

function Root() { return ( <nav> <a href={`/products/1`}>Product1</a> <a href={`/products/2`}>Product2</a> </nav> ); } export default Root;

Aggiungiamo un po' di stili in index.css:

body { font-size: 18px; line-height: 1.5; } nav { display: flex; flex-direction: column; } a { text-decoration: none; color: blue; }

E ora fai clic sui link. Dato che non abbiamo i layout delle pagine per i nostri prodotti, i link ci porteranno solo a una schermata con l'errore '404 Not Found' e un rimprovero per non aver pensato a qualcosa di più bello e interessante di ciò che React Router ci ha mostrato per impostazione predefinita.

Creiamo la nostra pagina personalizzata, che verrà visualizzata in caso di errore 404. Per farlo, nella cartella src creiamo il file error-page-404.jsx.

All'interno del componente React ErrorPage404 utilizzeremo l'hook useRouteError per catturare l'errore, che stamperemo nella console:

import { useRouteError } from 'react-router-dom'; function ErrorPage404() { const error = useRouteError(); console.error(error); } export default ErrorPage404;

Successivamente, nel markup del componente ErrorPage404 visualizzeremo un paio di intestazioni che segnalano l'errore e mostreremo proprietà dell'oggetto error come statusText e data (l'oggetto error e le sue proprietà possono essere viste anche aprendo la console e iniziando a cliccare sui nostri link nell'applicazione).

return ( <div> <h1>Ciao! Questa è una Pagina di Errore</h1> <h2>Errore 404 Not Found</h2> <p> <i>{error.statusText}</i> </p> <p> <i>{error.data}</i> </p> </div> );

Assicuratevi di non dimenticare di aprire il file main.jsx e aggiungere un'altra riga di import per ErrorPage404:

import ErrorPage404 from './error-page-404';

E aggiungete anche un'altra proprietà errorElement nell'oggetto Router - questo elemento viene visualizzato quando si verifica un errore su questa route. Il valore dell'elemento di errore sarà il nostro componente ErrorPage404:

const router = createBrowserRouter([ { path: '/', element: <Root />, errorElement: <ErrorPage404 />, }, ]);

Prendi l'applicazione che hai creato nel compito della lezione precedente. Aggiungi alla pagina principale un elenco composto da un paio di link, come mostrato nella lezione. Lascia che i valori href dei link siano - /students/1 e /students/2, e il testo dei link - 'Student1' e 'Student2' rispettivamente. Assicurati che facendo clic sui link appare una schermata con l'errore che React Router visualizza per impostazione predefinita.

E ora crea la tua pagina separata con l'errore 404, puoi visualizzare su di essa ciò che desideri. Collegala come mostrato nella lezione. E ora assicurati che facendo clic sui link si arrivi proprio su di essa.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta