⊗jsrtPmRtPR 47 of 47 menu

გზის გარეშე მარშრუტი React Router-ში

ამ გაკვეთილზე ჩვენ განვიხილავთ გზის გარეშე მარშრუტის კიდევ ერთ სასარგებლო თვისებას.

თქვენ იცით, რომ ყოველ მარშრუტის ობიექტს შეგიძლიათ დაამატოთ <errorElement თვისება და მნიშვნელობად მიუთითოთ ის ელემენტი, რომლის ჩვენებაც გსურთ შეცდომის შემთხვევაში.

მაგრამ რა მოხდება, თუ <errorElement ყველა მარშრუტისთვის ერთი და იგივე იქნება? შესაძლებელია, რა თქმა უნდა, ყველასთვის ერთიდაიგივეს დავწეროთ, ან შეგვიძლია გამოვიყენოთ გზის გარეშე მარშრუტი, ჩავაბაროთ მას ჩვენთვის საინტერესო შვილი მარშრუტები. მაშინ ერთ-ერთი მათგანის შეცდომის შემთხვევაში, ჩვენი გზის გარეშე მარშრუტი დაიჭერს მათ და გამოაჩენს თავის <errorElement-ს.

წავიდეთ <main.jsx ფაილში და ჩავაბათოთ ყველა ჩვენი შვილი მარშრუტი გზის გარეშე მარშრუტში, რათა ისინი გახდნენ მისი შვილები (თავის მხრივ ეს მარშრუტი გახდება ძირეული მარშრუტის შვილი), არ დაგვავიწყდეს მას ასევე დავუმატოთ <errorElement თვისება:

const router = createBrowserRouter([ { path: '/', element: <Root />, errorElement: <ErrorPage404 />, loader: rootLoader, action: rootAction, children: [ { errorElement: <ErrorPage404 />, children: [ { index: true, element: <Index /> }, { path: 'products/:productId', element: <Product />, loader: productLoader, }, { path: 'products/:productId/edit', element: <EditProduct />, loader: editProductLoader, action: editAction, }, { path: 'products/:productId/delete', action: deleteAction, }, ], }, ], }, ]);

როგორ შევამოწმოთ ახლა ამ კოდის მუშაობა? შესაძლებელია დავამატოთ ხაზი შეცდომის გადაგდებით (არ დაგავიწყდეთ მისი მოგვიანებით მოშორება, როცა შეამოწმებთ). მაგალითად, დავამატოთ ის პროდუქტის წაშლის მარშრუტის <action ფუნქციის პირველ ხაზად, მაშინ პროდუქტის წაშლის მცდელობისას ჩვენ დავინახავთ შეცდომას:

export async function action({ params }) { throw new Error('error'); await deleteProduct(params.productId); return redirect('/'); }

ახლა სცადეთ რაიმე პროდუქტის წაშლა.

აიღეთ აპლიკაცია, რომელიც თქვენ შექმენით წინა გაკვეთილების დავალებებში. გაკვეთილის მასალების გამოყენებით, ჩააბარეთ თქვენი შვილი მარშრუტები გზის გარეშე მარშრუტს <errorElement თვისებით და შეამოწმეთ, რომ ეს მუშაობს.

ქართული
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
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა