⊗jsnxPmRtDy 19 of 57 menu

Динамични маршрути в NextJS

В NextJS можете да създавате динамични маршрути. Такива маршрути предполагат, че част от URL адреса може да има произволна стойност. За пример вземаме адрес /users/1, в който вместо единица може да има всяко число, технически съответстващо на id на потребителя, когото искаме да покажем.

В този случай не е необходимо да създаваме множество папки за всяко възможно число. Достатъчно е да декларираме тази част от адреса като динамична. В този случай всички заявки от този вид ще бъдат обработвани от общ файл page.jsx.

За да направите динамичен параметър, трябва името на съответната папка да се постави в квадратни скоби. В нашия случай това ще бъде следната структура от папки:

  • /app/
    • /users/
      • /[id]/

Нека направим съответния компонент:

export default function User() { return <p> user </p>; }

При това зададеният от нас параметър ще се съхранява в специален обект params. Нека изведем стойността на този параметър:

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

Направете маршрут, обработващ адреси от вида /city/:name, където вместо :name може да има всякакъв низ.

Направете маршрут, обработващ адреси от вида /show/:country/:city, където вместо :country и :city може да има всякакви низове.

Направете маршрут, обработващ адреси от вида /post/:id, където вместо :id може да има всякакъв номер.

Нека е даден следният масив:

let posts = [ 'post1', 'post2', 'post3', 'post4', 'post5', ]; export default function Post() { }

Направете така, че в зависимост от стойността на параметъра id във верстката на компонента да се извежда съответната публикация.

Направете маршрут, обработващ адреси от вида /prod/:id, където вместо :id може да има всякакъв номер.

Нека е даден следният масив:

let prods = [ { id: 1, name: 'prod1', cost: 100, }, { id: 2, name: 'prod2', cost: 200, }, { id: 3, name: 'prod3', cost: 300, }, ]; export default function Prod() { }

Направете така, че в зависимост от стойността на параметъра id във верстката на компонента да се извежда съответният продукт.

Български
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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне