如何解决next.js-由多个弹头组成的动态路由?
是否可以构造包含预定义格式的动态零件的路由,例如/[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。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。