Next js中多参数的动态路由

IT技术 reactjs next.js
2021-04-27 13:02:36

我正在使用 Next js。我想使用基于此文档的动态路由如何为链接组件设置两个参数,例如 href="/page/[p1]/[p2]"?我的页面文件的结构应该是什么以及如何使用 router.query?

3个回答

文件夹结构应该是这样的

Page - Folder 
 blog - Folder Name
 [p1] - Folder Name
   [p2].js - File Name

当你调用像 /blog/postname/id 这样的 URL 时它会工作,它会调用 p2.js 页面

您可以借助 nextjs 9 中的动态路由来做到这一点。例如,pages/post/[postId]/[commentId].js将匹配/post/p1/c1. 它的查询对象是:{ postId: 'p1', commentId: 'c1' }。你的 Link 组件应该是这样的:

<Link
   href="/post/[postId]/[commentId]"
   as={`/post/${postId}/${commentId}`}>
      <a>link to comment</a>
</Link>

这样的文件夹结构将起作用

-[blog] //folder name
 -[post].js //file name
-items //folder name
 -[category] //folder name
  -[subCategory].js //file name

您可以简单地调用博客并发布类似

<a href="/blog/post"></a>

您可以简单地将类别和子类别称为

<a href="/items/category/subCategory"></a>