Gestione degli errori
Fa parte della sezione Nozioni essenziali di Next.js del percorso React di Coddy. Lezione 27 di 47.
Il caricamento non riesce. Il database è inattivo, il record non c’è più, qualcosa genera un errore. Senza un piano, un singolo await manda in tilt l’intera schermata.
error.jsx è l'immagine speculare di loading.jsx: stessa idea, risultato opposto. Mettilo accanto a una pagina e intercetterà qualsiasi errore generato da quella pagina durante il rendering:
app/
menu/
page.jsx
loading.jsx while it works
error.jsx when it doesn'tA differenza di loading.jsx, ha un requisito imprescindibile:
'use client';
export default function Error({ error, reset }) {
return (
<div>
<h2>Couldn't load the menu</h2>
<button onClick={reset}>Try again</button>
</div>
);
}error.jsx deve essere un componente client. Il motivo è proprio lì nel JSX: onClick. Un pulsante per riprovare è interattivo e l'interattività richiede un componente inviato al browser. Se ometti 'use client', ricevi l'errore del gestore di eventi del capitolo precedente, proprio nella pagina che dovrebbe gestire gli errori.
Riceve due props:
error: l'errore che è stato generato, così puoi registrarloreset: una funzione che esegue nuovamente il rendering della sezione non riuscita. Chiamala e la pagina riproverà
reset è ciò che rende tutto questo più di una schermata di errore più gradevole. Un blip che non ha funzionato una volta spesso funzionerà la seconda volta, e l’utente non ha dovuto ricaricare nulla.
Come gli altri file speciali, error.jsx copre la propria cartella e tutto ciò che è contenuto al suo interno, quindi un file vicino alla radice funge da rete di sicurezza per un'intera sezione del sito.
Provalo tu
Questa lezione non include una sfida di codice.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Nozioni essenziali di Next.js
4Server e Client
Due tipi di componentiLeggere l'erroreLa riga 'use client'Mantieni piccole le parti ClientServer dentro ClientRiepilogo: Server e Client7Navigazione lato client
Il link attivoRouting programmaticoFiltrare con l'URLGestori delle routeRiepilogo: navigazione2Routing e collegamenti
Le cartelle sono routeRoute annidateCollegare le pagineRoute dinamichePagine non trovateRiepilogo: routing5Dati sul server
Componenti asincroniIn attesa dei parametri della routeDue fetch contemporaneiStati di caricamentoGestione degli erroriRiepilogo: recupero dei dati8Progetto: Coddy Eats
Passaggio 1: La struttura