是否可以构造包含预定义格式的动态零件的路由,例如/[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
,但是还有另一种方法吗?
答案 0 :(得分:1)
您可以使用/ [slug],然后执行slug.split("-id")
。但是,最好单独执行id,然后再获取元数据,因为名称可能会更改,然后该URL可能会显示404。