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]]").
我想直接获取 name
和 id
,然后通过初始属性将它们传递到页面。我知道我可以解析 asPath
,但是还有其他方法吗?
您可以使用 /[slug] 然后执行 slug.split("-id")
。但是,您最好单独执行 id,然后再获取元数据,因为名称可能会更改,然后 url 可能会变成 404.
是否可以构建包含预定义格式的动态部分的路由,例如 /[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]]").
我想直接获取 name
和 id
,然后通过初始属性将它们传递到页面。我知道我可以解析 asPath
,但是还有其他方法吗?
您可以使用 /[slug] 然后执行 slug.split("-id")
。但是,您最好单独执行 id,然后再获取元数据,因为名称可能会更改,然后 url 可能会变成 404.