下一个js中的嵌套路由

时间:2020-05-27 17:42:52

标签: reactjs next.js

我环顾了Stackoverflow,并且一般共识似乎正在添加到我的服务器文件中。

尽管我想知道NextJS的动态路由是否可行。

我正在尝试实现一条看起来像这样的路线:

/categories/:id/articles/:id

我试图做这样的事情

- pages
  - categories
    - [id]
      - :id.js
      - articles
        - :id.js

无济于事,所以这也许不是最好的方法。我能在不接触服务器的情况下实现类似的功能吗?

1 个答案:

答案 0 :(得分:4)

是的,可以做到。您需要像这样在页面目录中创建一个结构。

- pages
  - categories
    - [categoryId]
      - articles
        - [articleId].js

[articleId].js中,您可以访问params.categoryIdparams.articleId

如果要显示/categories/:categoryId/articles的文章列表页面,可以通过在index.js文件夹中创建articles文件来实现。同样,如果要显示categories的列表,则可以在index.js文件夹中创建一个categories文件,例如,

- pages
  - categories
    - index.js   // to show a list of categories
    - [categoryId]
      - articles
        - index.js // to show list of articles for a specific category
        - [articleId].js

总结

  • /categories将在NextPage中显示pages/categories/index.js组件。
  • /categories/:categoryId/articles将在NextPage中显示pages/categories/[categoryId]/articles/index.js组件
  • categories/:categoryId/articles/:articlesId将在NextPage中显示pages/categories/[categoryId]/articles/[articleId].js组件