Next JS 中的相对路由

Abi*_*ash 15 routes reactjs next.js

我正在使用 Next JS。目前,我的页面位于 url 中

http://localhost:3000/project/613
Run Code Online (Sandbox Code Playgroud)

现在,我想将页面推送到

http://localhost:3000/project/613/time/123
Run Code Online (Sandbox Code Playgroud)

有什么方法可以让我相对地推动router.push('/time/123')

而不是输入完整的 URLrouter.push('project/613/time/123')

jul*_*ves 11

虽然它与相对路由不完全相同router.asPath,但您可以在相对部分之前添加。

router.push(`${router.asPath}/time/123`)
Run Code Online (Sandbox Code Playgroud)

这意味着您不需要显式设置路径的开头。

  • 这似乎效果不太好。如果您有全局导航并导航到此链接并再次单击它,则会以“/time/123/time/123”结尾,依此类推。 (2认同)
  • @User如果您有全局导航,您希望检查当前所在的路径,那么您不能盲目地使用它。 (2认同)