⊗jsnxPmRtNFP 23 of 57 menu

NextJS-de rugsat berilmedik parametr ýalňyşlygy

Öňki sapaklarda, berlen URL üçin roýt tapylmadyk ýagdaýynda 404 ýalňyşlygyny ýaýdýardyk. Emma, dinamiki roýtlarda roýt bolup, ýöne parametriň bahasy nädogry bolup bilýän ýagdaý hem bolup biler.

Mysal üçin garaýaly. Bizde şeýle görnüşde bir marşrut bolsun: /user/:id.

Bizde ýene-de ulanyjylar bilen obyekt bar bolsun:

let users = { 1: 'user1', 2: 'user2', 3: 'user3', 4: 'user4', 5: 'user5', };

Onuň ID-sine görä ulanyjyny görkezmek isleýändigimizi aýdalyň:

export default function User({ params }) { return <p> { users[params.id] } </p>; }

Şübhesiz, URL-däki ID islendik bolup bilmez, diňe bizim obýektimiziň açarlarynyň biri bolmaly. /user/6 ýaly ýok bolan salgama ýüzlenme synanyşygy ýalňyşlygyň ýüze çykmagyna getirmeli. Komponentimiziň kodyny düzedeliň we ýalňyşlyk teksti görkezeliň:

export default function User({ params }) { if (users[params.id]) { return <p> { users[params.id] } </p>; } else { return <p> ulanyjy tapylmady </p>; } }

Emma bu ýeterlik däl. Sebäbi bu ýagdaýda biz ýok bolan sahypa ýüzleýäris, şonuň üçin HTTP statusy 404 ýaýdylmaly. Bu NextJS-e gurnalan ýörite notFound funksiýasy arkaly amala aşyrylýar.

Geliň şu funksiýany import edeliň:

import { notFound } from 'next/navigation';

Indi bolsa, parametriň bahasy dogry däl ýagdaýynda ony çagyralyň:

export default function User({ params }) { if (users[params.id]) { return <p> { users[params.id] } </p>; } else { return notFound(); } }

Komponentimiziň doly kody aşakdaky görnüşde bolar:

import { notFound } from 'next/navigation'; let users = { 1: 'user1', 2: 'user2', 3: 'user3', 4: 'user4', 5: 'user5', }; export default function User({ params }) { if (users[params.id]) { return <p> { users[params.id] } </p>; } else { return notFound(); } }

Öz komponentleriňizde beýan edilen meseleleri çözuň.

Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et