Tworzysz folder np. `app/posts/[id]/page.tsx`. W Server Component czytasz z props `params`, a w Client Component możesz użyć `useParams()`.
export default function Page({ params }: { params: { id: string } }) {
return <div>Post id: {params.id}</div>
}W App Router nazwa folderu definiuje trasę:
W Server Component `page.tsx` Next przekazuje params w props `params`.
// app/posts/[id]/page.tsx
export default function Page({ params }: { params: { id: string } }) {
return <div>Post id: {params.id}</div>
}Odczyt po stronie klienta:
'use client'
import { useParams } from 'next/navigation'
export default function PostClient() {
const params = useParams<{ id: string }>()
return <div>{params.id}</div>
}Dla SSG/ISR możesz wyliczyć dynamiczne parametry przez `generateStaticParams()`.