⊗jsrtPmRtNFE 25 of 47 menu

Håndtering av Not Found-feil i React Router

Ved opprettelse av en applikasjon må man ta hensyn til og håndtere ulike feil som kan oppstå under dens bruk. I denne leksjonen vil vi lære å jobbe med 'Not Found'-feil. En slik feil kan vises, for eksempel, hvis en bruker klikker på en lenke som fører til en ikke-eksisterende side.

La oss først åpne applikasjonen vår, som vi jobbet med i forrige leksjoner, og erstatte utformingen av komponenten Root. Nå vil det, ved oppstart av applikasjonen, vises en liste med to produkter:

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

La oss legge til litt stiler i index.css:

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

Prøv å klikk på lenkene nå. Siden vi ikke har noen sidemaler for produktene våre, vil lenkene bare føre oss til en skjerm med '404 Not Found'-feil og en bemerkning om at vi kunne ha kommet på noe mer fengende og interessant enn det React Router viste oss som standard.

La oss lage vår egen side, som vil vises i tilfelle en 404-feil oppstår. For å gjøre dette, i mappen src, la oss opprette filen error-page-404.jsx.

Inne i React-komponenten ErrorPage404 vil vi bruke hooken useRouteError for å fange opp feilen, som vi vil logge til konsollen:

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

Deretter, i utformingen av komponenten ErrorPage404, vil vi vise et par overskrifter som informerer om feilen og vi vil vise egenskaper som statusText og data fra error-objektet (error-objektet og dets egenskaper kan du også se hvis du åpner konsollen og begynner å klikke på lenkene i applikasjonen).

return ( <div> <h1>Hei! Dette er en feilside</h1> <h2>404 Not Found-feil</h2> <p> <i>{error.statusText}</i> </p> <p> <i>{error.data}</i> </p> </div> );

Husk å åpne filen main.jsx og legge til en linje til for import av ErrorPage404:

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

Og legg til en egenskap til errorElement i Router-objektet - dette elementet vises når en feil oppstår på denne ruten. Verdien for feilelementet vil være komponenten vår ErrorPage404:

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

Ta applikasjonen du opprettet i oppgaven til forrige leksjon. Legg til på hjemmesiden en liste som består av et par lenker, som vist i leksjonen. La verdiene for href til lenkene være - /students/1 og /students/2, og lenketeksten - 'Student1' og 'Student2' henholdsvis. Forsikre deg om at når du klikker på lenkene du får en skjerm med feilen som React Router viser som standard.

Opprett nå din egen separate side for 404-feil, du kan vise hva du ønsker på den. Koble den til, som vist i leksjonen. Forsikre deg nå om at når du klikker på lenkene havner du nettopp på den.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis