next.js-由多个弹头组成的动态路由?

时间:2020-10-23 13:41:36

标签: next.js dynamic-routing

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

我尝试的是创建一个文件 [name] -id [id] .js 。在getInitialProps内部,我console.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,但是还有另一种方法吗?

1 个答案:

答案 0 :(得分:1)

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