【问题标题】:Next.js Route: Dynamic vs exactNext.js 路由:动态与精确
【发布时间】:2021-12-17 14:43:47
【问题描述】:

我是 Next.js 的新手,我很好奇会发生什么,例如,如果我有这两条路线,其中一条是动态的,一条是原样的,并且两者的名称几乎相同:

/posts/[id]
/posts/latest

我在想他们会不会互相冲突?如果他们这样做了,那么 Next.JS 将如何区分 /latest 不是 /[id] 的参数?

【问题讨论】:

  • 因为您可以将id 参数添加到url。 https://www.google.com/search?q=italy如果你把它粘贴到你的浏览器,你会得到意大利的谷歌搜索结果。如您所见,italy 在链接中的位置。所以,如果你输入america,美国的搜索结果就会出现。基本上,您必须将 id 参数添加到您的 http 请求中。

标签: reactjs routes next.js


【解决方案1】:

Next.js 在内部处理它,使用预定义路由 /posts/latest 和动态路由 /posts/[id] 完全可以。在这种情况下,/posts/latest 将始终优先于动态路由。

来自dynamic routes documentation

预定义路由优先于动态路由,并且动态 路线超过捕获所有路线。请看以下示例:

  • pages/post/create.js - 将匹配 /post/create
  • pages/post/[pid].js - 将匹配 /post/1/post/abc 等。但不匹配 /post/create
  • pages/post/[...slug].js - 将匹配 /post/1/2/post/a/b/c 等。但是 不是/post/create/post/abc

【讨论】:

    猜你喜欢
    • 2022-01-04
    • 2021-11-18
    • 2022-11-05
    • 2020-09-08
    • 2022-01-10
    • 2021-01-29
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    相关资源
    最近更新 更多