我环顾了Stackoverflow,并且一般共识似乎正在添加到我的服务器文件中。
尽管我想知道NextJS的动态路由是否可行。
我正在尝试实现一条看起来像这样的路线:
/categories/:id/articles/:id
我试图做这样的事情
- pages
- categories
- [id]
- :id.js
- articles
- :id.js
无济于事,所以这也许不是最好的方法。我能在不接触服务器的情况下实现类似的功能吗?
答案 0 :(得分:4)
是的,可以做到。您需要像这样在页面目录中创建一个结构。
- pages
- categories
- [categoryId]
- articles
- [articleId].js
在[articleId].js
中,您可以访问params.categoryId
和params.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
组件