[slug]
[...slug]
[[...slug]]
generateStaticParams
notFound()
params
generateMetadata
1export async function generateStaticParams() { 2 const posts = await getPosts(); 3 return posts.map((post) => ({ 4 slug: post.slug, 5 })); 6} 7 8export default async function Page({ 9 params, 10}: { 11 params: Promise<{ slug: string }>; 12}) { 13 const { slug } = await params; 14 const post = await getPost(slug); 15 16 if (!post) { 17 notFound(); 18 } 19 20 return <Article post={post} />; 21}
params.slug
/post/hello
"hello"
/docs/a/b/c
["a","b","c"]
/shop
undefined
/shop/a/b
["a","b"]
Use `generateStaticParams` to pre-render and `notFound()` for invalid paths.
params.slug = ["api","users"]
Segments: 2 • Path: /api/users
No documentation exists for path: /api/users
/docs/getting-started
/docs/api/users/create
/docs/api/users/list
/docs/guides/authentication