next.js - 由多个 slug 组成的动态路线?

next.js - dynamic route consisting of multiple slugs?

是否可以构建包含预定义格式的动态部分的路由,例如 /[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,但是还有其他方法吗?

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