⊗jsrtPmRtNFE 25 of 47 menu

Pengendalian Ralat Not Found dalam React Router

Apabila mencipta aplikasi, perlu diberi perhatian kepada kemunculan pelbagai ralat dalam proses penggunaannya pada masa hadapan. Dalam pelajaran ini, kita akan belajar menangani ralat 'Not Found'. Ralat sedemikian mungkin muncul, contohnya, jika pengguna mengklik pada pautan yang membawa ke halaman yang tidak wujud.

Pertama, mari buka aplikasi kita, yang kami buat dalam pelajaran lepas, dan gantikan susun atur komponen Root. Sekarang apabila aplikasi dilancarkan, kita akan mempamerkan senarai dua produk:

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

Mari tambah sedikit gaya dalam index.css:

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

Sekarang, cuba klik pada pautan. Memandangkan kita tidak mempunyai halaman reka bentuk untuk produk kami, pautan hanya akan membawa kita kepada skrin dengan ralat '404 Not Found' dan tuduhan bahawa kita boleh mencipta sesuatu yang lebih cantik dan menarik berbanding apa yang React Router paparkan kepada kita secara lalai.

Mari buat halaman kami sendiri, yang akan dipaparkan sekiranya ralat 404 muncul. Untuk melakukan ini, dalam folder src buat fail error-page-404.jsx.

Di dalam komponen React ErrorPage404 kita akan menggunakan hook useRouteError untuk menangkap ralat, yang akan kita paparkan dalam konsol:

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

Seterusnya, dalam susun atur komponen ErrorPage404 kita akan memaparkan beberapa tajuk, memberitahu tentang ralat dan memaparkan sifat objek error seperti statusText dan data (objek error dan sifat-sifatnya anda juga boleh lihat jika anda membuka konsol dan mula mengklik pada pautan kami dalam aplikasi).

return ( <div> <h1>Hi! Ini Halaman Ralat</h1> <h2>Ralat 404 Tidak Dijumpai</h2> <p> <i>{error.statusText}</i> </p> <p> <i>{error.data}</i> </p> </div> );

Pastikan anda membuka fail main.jsx dan tambah satu lagi baris import dengan ErrorPage404:

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

Dan juga tambah satu lagi sifat errorElement dalam objek Router - elemen ini dipaparkan apabila ralat berlaku pada laluan ini. Nilai elemen ralat akan menjadi komponen kami ErrorPage404:

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

Ambil aplikasi, yang anda buat dalam tugasan untuk pelajaran lepas. Tambah pada halaman utama senarai, terdiri daripada beberapa pautan, seperti yang ditunjukkan dalam pelajaran. Biarkan nilai href pautan menjadi - /students/1 dan /students/2, dan teks pautan - 'Student1' dan 'Student2' masing-masing. Pastikan bahawa apabila mengklik pada pautan anda mendapat skrin dengan ralat, yang React Router paparkan secara lalai.

Dan sekarang cipta halaman berasingan anda sendiri dengan ralat 404, anda boleh paparkan di atasnya apa-apa, yang anda mahu. Sambungkannya, seperti yang ditunjukkan dalam pelajaran. Dan sekarang pastikan bahawa apabila mengklik pada pautan anda sampai tepat kepadanya.

Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak