Segmendimassiiv dünaamilises ruudis NextJS-is
Vajadusel on võimalik saada massiiv kõikidest segmentidest ühte muutujasse. Selleks võetakse parameeter nurksulgudesse ja parameetri nime ette pannakse kolm punkti. Vaatame seda näite varal.
Olgem meil järgmise kujuga marsruut:
/prod/:category/:name/:id/,
kus kooloniga märgitud parameetrid
on dünaamilised. Saagem
nende parameetrite väärtuste massiivi
mõnda muutujasse. Selle
muutuja nimi võib olla suvaline.
Näiteks nimetame selle slugs.
Teeme järgmise failistruktuuri:
- /app//prod//[...slugs]/
Teeme vastava komponendi:
app/prod/[...slugs]/page.jsxexport default function Prod({ params }) {
console.log(params); // väärtuste massiiv
}
Задание 1
Tehke marsruut, mis töötleb aadresse
kujul /prod/:category/:name.
Olgu antud järgmine massiiv:
page.jsxlet prods = [
{
category: 'catg1',
name: 'prod1',
cost: 100,
},
{
category: 'catg1',
name: 'prod2',
cost: 200,
},
{
category: 'catg2',
name: 'prod1',
cost: 300,
},
{
category: 'catg2',
name: 'prod3',
cost: 400,
},
];
Tehke nii, et sõltuvalt parameetrite väärtustest komponendi visandis kuvataks vastav toode.