Viv*_*mar 15 reactjs next.js dynamic-routing
我们如何在 nextjs 13 中使用布局进行动态路由?
我在新的下一页应用程序中有一个目录,我在其中尝试进行动态路由:app/dashboard/[id].jsx,但是它不适用于仪表板布局。
我该怎么做?普通页面的工作方式是这样的app/dashboard/pages.jsx,但是我们如何做动态路由,在其中我也可以获得 id 呢?
Jer*_*che 26
https://nextjs.org/docs/app/api-reference/file-conventions/page
所以:app/dashboard/[id]/page.jsx
你的Page函数可以接受一个params参数:
export default function Page({ params, searchParams }) {
return <div>ID: {params.id}</div>
}
Run Code Online (Sandbox Code Playgroud)
kri*_*yaa 21
在最新App Router的 Nextjs中13.4,可以通过以下方式完成。
概括
\n单个参数 ( blog/123)
[blogId]多个参数 ( blog/a/b)
[...blogId]可选参数(blog/或blog/a)
[[...blogId]]
\nexport default function Home() {\n return (\n <div className="flex flex-col gap-4">\n <Link href={"/blog/123"} className="bg-green-400 w-fit rounded-lg p-4">\n Single param\n </Link>\n <Link href={"blog/a/b"} className="bg-blue-400 w-fit rounded-lg p-4">\n Multiple Params\n </Link>\n <Link href={"blog"} className="bg-amber-400 w-fit rounded-lg p-4">\n Optional\n </Link>\n </div>\n );\n}\nRun Code Online (Sandbox Code Playgroud)\nexport default function BlogPost({ params }: { params: { blogId: string } }) {\n return <h1>{params.blogId}</h1>;\n} \n\nRun Code Online (Sandbox Code Playgroud)\nexport default function BlogPost({ params }: { params: { blogId: string[] } }) {\n console.log(params);\n return (\n <div className="">\n {params.blogId[0]}\n {params.blogId[1]}\n </div>\n );\n}\nRun Code Online (Sandbox Code Playgroud)\n另请参阅最新的 Nextjs 13 代码模板\n Next.js 13+ Power Snippets | TypeScript/Javascript
\n它包含广泛的代码片段,适用于ts和js. 在这里查找所有片段
有用的链接:
\n| 归档时间: |
|
| 查看次数: |
29999 次 |
| 最近记录: |