我有一个只有 2 条路由的 Next.js 博客: /
和 /posts/:slug
。
当我打开 /posts/my-post-title
时,我点击后退链接(到 /
),一切正常。页面加载速度很快(无刷新)。
当我打开 /
并单击 /posts/my-post-title
时,页面刷新,我不知道为什么。有什么建议吗?
原文由 soywod 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个只有 2 条路由的 Next.js 博客: /
和 /posts/:slug
。
当我打开 /posts/my-post-title
时,我点击后退链接(到 /
),一切正常。页面加载速度很快(无刷新)。
当我打开 /
并单击 /posts/my-post-title
时,页面刷新,我不知道为什么。有什么建议吗?
原文由 soywod 发布,翻译遵循 CC BY-SA 4.0 许可协议
我以前遇到过这个问题,我以为我已经解决了,但以上都没有帮助我完全解决问题,所以我发布了我的解决方案。
假设您想使用链接转到 slot/[key] 路由。
然后,在 pages 文件夹中创建一个名为 slot 的文件夹,并在其中创建一个名为 [key].js 的文件,注意:不要忘记把那个 []。
在 [key].js 文件夹中,您可以简单地导出要渲染的组件。有很多方法可以解决这个问题,我们现在不深入。
现在,在使用 Link 时以这种方式使用它,
<Link
href={'/slot/[key]'}
as = {`/slot/${your_dynamic_variable}`}
>
<a>
Go to the slot route
</a>
</Link>
原文由 sareek 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答13.1k 阅读
7 回答2.3k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.4k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
4 回答1.8k 阅读
我刚刚找到答案…
因为我动态映射
/posts/:slug
到/posts?slug=:slug
在我的配置中(为了达到posts.jsx
),我需要通过 Link 组件(与属性相同) 作为)。