⊗jsrtPmRtNFE 25 of 47 menu

React Router'da Not Found xatosini qayta ishlash

Ilova yaratishda uning keyingi foydalanish jarayonida turli xil xatolarning paydo bo'lishiga ham e'tibor berish kerak. Ushbu darsda biz 'Not Found' xatosi bilan ishlashni o'rganamiz. Bunday xato, masalan, foydalanuvchi mavjud bo'lmagan sahifaga olib boradigan havolani bosganida paydo bo'lishi mumkin.

Boshlash uchun oldingi darslarda qilgan ilovamizni ochaylik va Root komponentining verstkasini almashtiramiz. Endi ilovani ishga tushirganimizda ikkita mahsulot ro'yxati ko'rsatiladi:

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

index.css fayliga bir oz uslub qo'shamiz:

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

Va endi havolalarni bosing. Chunki bizning mahsulotlarimiz uchun sahifa maketlari yo'q, havolalar bizni faqat '404 Not Found' xato ekraniga olib boradi va React Router bizga sukut bo'yicha ko'rsatgan narsadan ko'ra chiroyli va qiziqroq narsani o'zimiz topib olishimiz mumkinligi haqidagi tanbehga olib keladi.

Keling, 404 xatosi paydo bo'lganda ko'rsatiladigan o'zimizning sahifamizni yarataylik. Buning uchun src papkasida error-page-404.jsx faylini yaratamiz.

ErrorPage404 React komponenti ichida biz konsolga chiqarish uchun xatoni ushlashda useRouteError hookidan foydalanamiz:

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

Keyin ErrorPage404 komponentining verstkasida biz xato haqida xabar beradigan bir nechta sarlavhalarni ko'rsatamiz va error ob'ektining statusText va data kabi xususiyatlarini chiqaramiz (error ob'ekti va uning xususiyatlarini siz ham konsolni ochib, ilovadagi havolalarni bosishni boshlashingiz bilan ko'rishingiz mumkin).

return ( <div> <h1>Salom! Bu Xato Sahifasi</h1> <h2>404 Topilmadi Xatosi</h2> <p> <i>{error.statusText}</i> </p> <p> <i>{error.data}</i> </p> </div> );

main.jsx faylini ochib, ErrorPage404 bilan yana bir import qatorini qo'shishni unutmasligingiz kerak:

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

Shuningdek, Router ob'ektiga yana bir errorElement xususiyatini qo'shing - ushbu marshrutda xato yuz berganda bu element ko'rsatiladi. Xato elementining qiymati bizning ErrorPage404 komponentimiz bo'ladi:

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

Oldingi darsdagi vazifa uchun yaratilgan ilovangizni oling. Bosh sahifaga darsda ko'rsatilgandek, bir nechta havolalardan iborat ro'yxat qo'shing. href havolalarining qiymatlari - /students/1 va /students/2 bo'lsin, havola matnlari esa mos ravishda 'Student1' va 'Student2' bo'lsin. Havolalarni bosganingizda sizda React Router sukut bo'yicha chiqaradigan xato ekrani paydo bo'lishiga ishonch hosil qiling.

Endi 404 xatosi uchun o'zingizning alohida sahifangizni yarating, unga xohlaganingizni chiqarishingiz mumkin. Uni darsda ko'rsatilgandek ulang. Endi havolalarni bosganingizda aynan unga tushishingizga ishonch hosil qiling.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish