在 router.push 硬导航(应用程序目录)之后,浏览器后退按钮使网站 NextJS 13 崩溃

问题描述 投票:0回答:2

我有一个按钮,需要使用 next/navigation 中 useRouter 的推送方法以编程方式更改路线。在 Chrome 中使用后退按钮的软导航效果很好,但在硬导航上使用后退按钮会使网站无响应,使用 100% cpu,并且关闭选项卡不起作用。我必须强制退出 Chrome。

我已经完全删除了任何可能影响导航的中间件。我还发现了一些几年前的旧 github 问题,也有类似的问题,但在其中找不到任何解决方案。

有人可以使用应用程序路由器来查看我非常简单的代码库吗? https://github.com/bztravis88/gifgrams 与 router.push 一起使用的后退按钮的示例位于 AuthToggle 组件中,该组件在登录和注册路由之间切换。存在此问题的 router.push 的一个示例是从 / 到 /account

的硬导航

这是我使用 next js 的第一个主要项目,所以我可能会误用一些东西,希望得到任何帮助! :)

next.js routes crash next.js13
2个回答
2
投票

问题是您无法使用作为异步函数的客户端组件定义 page.js。


0
投票

发现我的问题,这是因为我在应用程序的根部有一个提供程序,即“使用客户端”,我可以通过在提供程序周围添加一个 Suspense 包装器来解决此问题,这确实部分解决了此问题。

© www.soinside.com 2019 - 2024. All rights reserved.