⊗jsrtPmRtNFE 25 of 47 menu

React Routerда Not Found хатолигини ишловлаш

Илова яратишда унинг кейинги фойдаланиш жараёнида турли хатоликларнинг пайдо бўлишига ҳам эътибор қаратиш керак. Ушбу дарсда биз 'Not Found' хатолиги билан ишлашни ўрганамиз. Бундай хатолик, масалан, фойдаланувчи мавжуд бўлмаган саҳифага олиб борадиган ҳаволани босганда пайдо бўлиши мумкин.

Бошлаш учун аввалги дарсларда биз яратган илованимизни ochамиз ва 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 файлини яратамиз.

ErrorPage404 React компоненти ичида биз консольга чиқарадиган хатоликни ushlash учун useRouteError хукидан фойдаланамиз:

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

Кейин ErrorPage404 компонентининг версткасида биз хатолик ҳақида хабар берадиган бир нечта сарлавҳаларни кўрсатамиз ва error объектининг statusText ва data каби хоссаларини чиқарамиз (error объекти ва унинг хоссаларини сиз консолни ochиб, иловадаги ҳаволаларни босганда ҳам кўришингиз мумкин).

return ( <div> <h1>Салом! Бу Хатолик Саҳифаси</h1> <h2>404 Топилмади Хатолиги</h2> <p> <i>{error.statusText}</i> </p> <p> <i>{error.data}</i> </p> </div> );

main.jsx файлини ochишни унутманг ва ErrorPage404 билан боғлиқ яна бир импорт сатрини қўшинг:

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

Шунингдек, Router объектига яна бир errorElement хоссасини қўшинг - бу элемент ушбу маршрутда хатолик юз берганда кўрсатилади. Хатолик элементининг қиймати бизнинг ErrorPage404 компонентимиз бўлади:

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

Аввалги дарс учун топшириқда яратган иловангизни oling. Бош саҳифага дарсда кўрсатилгани каби жуфт ҳаволадан иборат рўйхатни қўшинг. Ҳаволаларнинг 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çeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш