【问题标题】:next.js - dynamic route consisting of multiple slugs?next.js - 由多个 slug 组成的动态路由?
【发布时间】:2020-10-23 13:41:36
【问题描述】:

是否可以构建包含预定义格式的动态部分的路由,例如/[name]-id[id],例如具有路由/bob-id303/mary-id205

我尝试的是创建一个文件[name]-id[id].js。在getInitialProps 里面我控制台.log ctx 它包含

  pathname: '/[name]-id[id]',
  query: { 'name]-id[id': 'bob-id303' },
  asPath: '/bob-id303',

另一方面,调用文件 [[name]]-id[id]].js 给出

Failed to reload dynamic routes: Error: Optional route parameters are not yet supported ("[[name]-id[id]]").

我想直接获取nameid,然后通过初始道具将它们传递给页面。我知道我可以解析 asPath,但是还有其他方法吗?

【问题讨论】:

    标签: next.js dynamic-routing


    【解决方案1】:

    您可以使用 /[slug] 然后执行 slug.split("-id")。但是,您最好单独执行 id,然后获取元数据,因为名称可能会更改,然后该 url 可能会变为 404。

    【讨论】:

    • 谢谢,这就是我最终做的。 :)
    猜你喜欢
    • 2021-07-11
    • 2020-09-08
    • 2022-11-05
    • 2022-07-09
    • 2022-01-04
    • 2021-11-18
    • 2022-01-10
    • 2021-07-18
    • 1970-01-01
    相关资源
    最近更新 更多