⊗jsnxPmLtCMd 37 of 57 menu

Transmetimi Dinamik i Metatëdhënave nga Përmbajtja në NextJS

Në mësimin e mëparshëm mësuam të vendosnim metatëdhënat në përmbajtjen e faqes. Kjo metodë është e mirë, por nuk zbatohet gjithmonë. Çështja është se metatëdhënat e faqes mund të ndryshojnë në varësi të parametrit të rrugës dinamike.

Le të shohim një shembull. Le të themi se kemi një skedar me përmbajtje për të shfaqur një përdorues sipas id të tij. Le të themi se në këtë skedar ka një grup me përdorues:

let users = [ 'user1', 'user2', 'user3', 'user4', 'user5', ];

Le të shfaqim të dhënat e përdoruesit, që korrespondon me parametrin e transmetuar:

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

Le të kalojmë tani te problemi ynë. Meqenëse po shfaqim përdorues të ndryshëm, atëherë edhe metatëdhënat për ta duhet të jenë të ndryshme. Ne duhet t'i formësojmë ato në mënyrë dinamike, në varësi të vlerës së parametrit.

Kjo bëhet duke përdorur një funksion të veçantë generateMetadata, të cilin duhet ta eksportojmë nga komponenti ynë:

export const generateMetadata = () => { return { title: '', description: '', }; };

Në këtë funksion na janë të disponueshëm parametrat e rrugës:

export const generateMetadata = ({params}) => { console.log(params); };

Le të kthejmë metatëdhënat e duhura në varësi të vlerës së parametrit:

export const generateMetadata = ({params}) => { return { title: `Page for user {params.id}`, description: `Description for user "{users[params.id]}"`, }; };

Krijoni një rrugë, që përpunon adresat të formës /post/:id, ku në vend të :id mund të jetë çdo numër.

Le të jetë dhënë grupi i mëposhtëm:

let posts = [ { id: '1', title: 'post 1', desc: 'description for post 1', text: 'text1 text1 text1 text1 text1 text1 text1 text1', }, { id: '2', title: 'post 2', desc: 'description for post 2', text: 'text2 text2 text2 text2 text2 text2 text2 text2', }, { id: '3', title: 'post 3', desc: 'description for post 3', text: 'text3 text3 text3 text3 text3 text3 text3 text3', }, ]; export default function Post() { }

Bëni që për id-në e dhënë të shfaqet layout-i i duhur i postimit, si dhe të vendoset titulli i duhur dhe përshkrimi meta.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo