⊗jsrtPmRtNFE 25 of 47 menu

Апрацоўка памылкі Not Found у React Router

Пры стварэнні прыкладання трэба звярнуць ўвагу і на з'яўленне розных памылак у працэсе яго далейшага выкарыстання. У гэтым уроке мы навучымся працаваць з памылкай 'Not Found'. Такая памылка можа з'явіцца, напрыклад, калі карыстальнік націсне на спасылку, якая вядзе на неіснующую старонку.

Для пачатку давайце адкрыем наша прыкладанне, якое мы рабілі на мінулых уроках, і заменім верстку кампанента Root. Цяпер пры запуску прыкладання ў нас будзе адлюстроўвацца спіс з двух прадуктаў:

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

Дадамо трохі стыляў у index.css:

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

А зараз паспрабуйце націскаць на спасылкі. Паколькі у нас няма макетаў старонак для нашых прадуктаў, то спасылкі прывядуць нас толькі на экран з памылкай '404 Not Found' і дакору ў тым, што мы маглі б прыдумаць самі што-небудзь прыгажэй і цікавей, чым тое, што React Router адлюстраваў нам па змаўчанні.

Давайце зробім нашу ўласную старонку, якая будзе адлюстроўвацца ў выпадку з'яўлення памылкі 404. Для гэтага ў тэчцы src створым файлік error-page-404.jsx.

Унутры React кампанента ErrorPage404 мы скарыстаемся хукам useRouteError для перахопу памылкі, якую мы будзем выводзіць у кансоль:

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

Далей у верстцы кампанента ErrorPage404 мы будзем адлюстроўваць пару загалоўкаў, якія паведамляюць пра памылку і вывядзем такія ўласцівасці аб'екта error, як statusText і data (аб'ект error і яго ўласцівасці вы таксама можаце ўбачыць, калі адкрыеце кансоль і пачнеце націскаць на нашы спасылкі ў прыкладанні).

return ( <div> <h1>Прывітанне! Гэта старонка памылкі</h1> <h2>404 Памылка Not Found</h2> <p> <i>{error.statusText}</i> </p> <p> <i>{error.data}</i> </p> </div> );

Абавязкова не забудзьце адкрыць файл main.jsx і дадаць яшчэ адзін радок імпарту з ErrorPage404:

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

А таксама дадайце яшчэ адну ўласцівасць errorElement у аб'ект Router - гэты элемент выводзіцца, калі на даным маршруце ўзнікае памылка. Значэннем элемента памылкі будзе наш кампанент ErrorPage404:

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

Вазьміце прыкладанне, створанае вамі ў заданні да мінулага ўрока. Дадайце на галоўную старонку спіс, які складаецца з пары спасылак, як гэта паказана ў уроку. Хай значэннямі href спасылак будуць - /students/1 і /students/2, а тэкстам спасылак - 'Student1' і 'Student2' адпаведна. Пераканайцеся, што пры націску на спасылкі ў вас з'яўляецца экран з памылкай, якую React Router выводзіць па змаўчанні.

А цяпер стварыце сваю асобную старонку з памылкай 404, можаце вывесці на ёй тое, што хочаце. Падключыце яе, як паказана ў уроку. А цяпер пераканайцеся, што пры націску на спасылкі вы трапляеце менавіта на яе.

Беларуская
AfrikaansAzərbaycanБългарскиবাংলাČeštinaDanskDeutschΕλληνικάEnglishEspañ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 для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць