1

假设我有 2 条路线:/videoand /products/[id],所以我的pages文件夹包含video.jsand products/[id].js。当我使用router.pushLink导航到/videofrom/products/[id]时,URL 会更新为/products/video. 显然这不是正确的行为。

我错过了什么?

4

2 回答 2

1

您需要提供视频页面的路径,/video而不仅仅是video. 否则,它将相对于您当前所在的路径进行路由 - 从您的产品页面是/products.

router.push('/video')
<Link href="/video">...</Link>
于 2021-04-25T11:50:31.130 回答
1

我认为您没有正确命名文件。

要获取 /video,您只需将 video.js 作为您的页面。

要获取 /products/[id] 页面,您需要有 /products/[id].js 文件

您不要将其命名为 products[id].js。它只是 [id].js。

所以把你的 [id].js 文件放在你的 /products 文件夹中。

并将您的 video.js 文件放入您的 pages 文件夹中。例如 /pages/video.js 转到 /video 路由

/pages/products/[id].js 将转到 /products/id。

摘要:您的 pages 文件夹应该有 video.js 文件,并创建文件夹 products,并将 [id].js 文件放入您的 products 文件夹中。

于 2021-04-25T06:30:36.613 回答