⊗jsrtPmRtNFE 25 of 47 menu

Spracovanie chyby Not Found v React Router

Pri vytváraní aplikácie je potrebné venovať pozornosť aj vzniku rôznych chýb počas jej následného používania. V tejto lekcii sa naučíme pracovať s chybou 'Not Found'. Takáto chyba sa môže vyskytnúť, napríklad ak používateľ klikne na odkaz, ktorý vedie na neexistujúcu stránku.

Na začiatok otvorme našu aplikáciu, ktorú sme robili na predchádzajúcich lekciách, a nahraďme verzovanie komponentu Root. Teraz pri spustení aplikácie sa nám bude zobrazovať zoznam dvoch produktov:

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

Pridajme trochu štýlu do index.css:

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

A teraz klikajte na odkazy. Pretože nemáme šablóny stránok pre naše produkty, odkazy nás zavedú iba na obrazovku s chybou '404 Not Found' a s výčitkou, že sme mohli vymyslieť sami niečo krajšie a zaujímavejšie, ako to, čo nám React Router zobrazil predvolene.

Vytvorme našu vlastnú stránku, ktorá sa zobrazí v prípade vzniku chyby 404. Preto v priečinku src vytvoríme súbor error-page-404.jsx.

Vnútri React komponentu ErrorPage404 využijeme hook useRouteError na zachytanie chyby, ktorú budeme vypisovať do konzoly:

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

Ďalej vo verzovaní komponentu ErrorPage404 budeme zobrazovať pár nadpisov, informujúcich o chybe a vypíšeme také vlastnosti objektu error, ako statusText a data (objekt error a jeho vlastnosti môžete tiež vidieť, ak otvoríte konzolu a začnete klikáť na naše odkazy v aplikácii).

return ( <div> <h1>Ahoj! Toto je chybová stránka</h1> <h2>404 Chyba Not Found</h2> <p> <i>{error.statusText}</i> </p> <p> <i>{error.data}</i> </p> </div> );

Nezabudnite určite otvoriť súbor main.jsx a pridať ešte jeden riadok importu s ErrorPage404:

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

A tiež pridajte ešte jednu vlastnosť errorElement do objektu Router - tento element sa zobrazí, keď na danej trase vznikne chyba. Hodnotou elementu chyby bude náš komponent ErrorPage404:

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

Vezmite aplikáciu, ktorú ste vytvorili v úlohách k predchádzajúcej lekcii. Pridajte na hlavnú stránku zoznam, pozostávajúci z pár odkazov, ako je to ukázané v lekcii. Nech hodnotami href odkazov sú - /students/1 a /students/2, a textom odkazov - 'Student1' a 'Student2' zodpovedajúco. Uistite sa, že pri kliknutí na odkazy sa vám objaví obrazovka s chybou, ktorú React Router zobrazuje predvolene.

A teraz vytvorte svoju vlastnú stránku s chybou 404, môžete na nej zobraziť to, čo chcete. Pripojte ju, ako je ukázané v lekcii. A teraz sa uistite, že pri kliknutí na odkazy sa dostanete práve na ňu.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť