nextjs中的2级嵌套路由

时间:2019-08-25 18:30:27

标签: reactjs next.js

我仔细阅读了下一个路由系统的文档。 它只提到我可以实现这样的动态路由:

http://localhost:3000/level1/dynamicSlug

但是我正在尝试达到这样的目标:

http://localhost:3000/level1/level2/dynamicSlug

我也希望将level2创建为动态

非常感谢!

3 个答案:

答案 0 :(得分:1)

您有2个选择:

  1. 使用v9 Dynamic Routing,将文件夹称为[dynSlag],然后将页面文件放入其中。
  2. 使用custom server and routing,您需要定义一个自定义服务器,将路径映射到特定的下一页。

答案 1 :(得分:1)

使用NextJs文档中的示例示例,我使用了这种技巧,也许您可​​以使用它。

while True:
    new_user = input("Consider using alphanumeric and special characters \nCreate new user ID: ")
    if len(new_user) < 4:
        print("User ID must be more than 4 alphanumeric characters".upper())
        continue
    elif len(new_user) > 10:
        print("User ID must be less than 10 alphanumeric characters".upper()) 
        continue  
    else:
        print("Please confirm user ID ")
        break

“ as”的值将类似于<Link href="/posts/[id]" as={`/posts/${subFolder}${id}`}>

然后在/posts/nested_subfolder_file.md函数中,进行以下小的更改:

getPostData

答案 2 :(得分:1)

可以按照您的要求进行嵌套方案。 例如:

pages/
  level1/
    [dynamicSlug]/
      - index.js           // will match for /level1/1234
    level2/
      - index.js           // will match for /level1/level2
      - [dynamicSlug].js   // will match for /level1/level2/1234

pages/
  level1/
    [dynamicSlug]/
      - index.js           // will match for /level1/1234
    level2/
      - index.js           // will match for /level1/level2
      [dynamicSlug]/
        - index.js         // will match for /level1/level2/1234