Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs nextjs中的嵌套路由_Reactjs_Next.js - Fatal编程技术网

Reactjs nextjs中的嵌套路由

Reactjs nextjs中的嵌套路由,reactjs,next.js,Reactjs,Next.js,我环顾了Stackoverflow,普遍的共识似乎是将其添加到我的服务器文件中 虽然我想知道这是否可能与NextJS的动态路由 我正在尝试实现一条类似这样的路线: /categories/:id/articles/:id 我试过这样做 - pages - categories - [id] - :id.js - articles - :id.js 没有用,所以这可能不是最好的方法。我能在不接触服务器的情况下实现类似的功能吗?是的,可以做到。

我环顾了Stackoverflow,普遍的共识似乎是将其添加到我的服务器文件中

虽然我想知道这是否可能与NextJS的动态路由

我正在尝试实现一条类似这样的路线:

/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中的所有文件夹和代码内容: