Reactjs nextjs中的嵌套路由
我环顾了Stackoverflow,普遍的共识似乎是将其添加到我的服务器文件中 虽然我想知道这是否可能与NextJS的动态路由 我正在尝试实现一条类似这样的路线:Reactjs nextjs中的嵌套路由,reactjs,next.js,Reactjs,Next.js,我环顾了Stackoverflow,普遍的共识似乎是将其添加到我的服务器文件中 虽然我想知道这是否可能与NextJS的动态路由 我正在尝试实现一条类似这样的路线: /categories/:id/articles/:id 我试过这样做 - pages - categories - [id] - :id.js - articles - :id.js 没有用,所以这可能不是最好的方法。我能在不接触服务器的情况下实现类似的功能吗?是的,可以做到。
/categories/:id/articles/:id
我试过这样做
- pages
- categories
- [id]
- :id.js
- articles
- :id.js
没有用,所以这可能不是最好的方法。我能在不接触服务器的情况下实现类似的功能吗?是的,可以做到。您需要像这样在pages目录中创建一个结构
- pages
- categories
- [categoryId]
- articles
- [articleId].js
在[articleId].js
中,您可以访问params.categoryId
和params.articleId
如果要显示/categories/:categoryId/articles
的文章列表页面,可以通过在articles
文件夹中创建index.js
文件来实现。类似地,如果您想显示类别的列表
,您可以在类别
文件夹中创建一个index.js
文件,例如
- 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
中显示页面/categories/index.js
组件NextPage
将在/categories/:categoryId/articles
页面/categories/[categoryId]/articles/index.js中显示
组件下一页
将在categories/:categoryId/articles/:articlesId
pages/categories/[categoryId]/articlesId/[articlesId].js中显示
组件NextPage
- 是的,可以做到。您需要像这样在pages目录中创建一个结构
- pages
- categories
- [categoryId]
- articles
- [articleId].js
在[articleId].js
中,您可以访问params.categoryId
和params.articleId
如果要显示/categories/:categoryId/articles
的文章列表页面,可以通过在articles
文件夹中创建index.js
文件来实现。类似地,如果您想显示类别的列表
,您可以在类别
文件夹中创建一个index.js
文件,例如
- 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
中显示页面/categories/index.js
组件NextPage
将在/categories/:categoryId/articles
页面/categories/[categoryId]/articles/index.js中显示
组件下一页
将在categories/:categoryId/articles/:articlesId
pages/categories/[categoryId]/articlesId/[articlesId].js中显示
组件NextPage
:id
格式的,所以我要做的唯一一件事就是将目录从[id]
更改为:id
,它就可以工作了。非常感谢。我很高兴它有帮助。请问你们使用的是什么版本的Nexjs?这对我不起作用。我得到了一个404。@Sofiane这是核心路由逻辑,据我所知,应该适用于任何版本的next
,除非您使用的是一个非常旧的版本,该版本在某些时候存在路由问题。请考虑用一个详细的信息发布一个问题,这样有人可以帮助你解决你的问题。@ SoffiAn我尝试了所有的东西,并有同样的问题,但是后来我意识到我没有从“下一个/路由器”中添加导入{用户外};在那些新的页面中。检查这个示例repo中的所有文件夹和代码:真棒!!因为我的路由是:id
格式的,所以我要做的唯一一件事就是将目录从[id]
更改为:id
,它就可以工作了。非常感谢。我很高兴它有帮助。请问你们使用的是什么版本的Nexjs?这对我不起作用。我得到了一个404。@Sofiane这是核心路由逻辑,据我所知,应该适用于任何版本的next
,除非您使用的是一个非常旧的版本,该版本在某些时候存在路由问题。请考虑用一个详细的信息发布一个问题,这样有人可以帮助你解决你的问题。@ SoffiAn我尝试了所有的东西,并有同样的问题,但是后来我意识到我没有从“下一个/路由器”中添加导入{用户外};在那些新的页面中。检查此示例repo中的所有文件夹和代码内容: