next.js - 部署后,在 nextjs 中使用 <Link/> 导航总是完全重新加载页面

标签 next.js

我在生产中遇到了一些无法在本地重现的问题。

来自 nextjs(版本 12.3.x)的 Link 在开发中以及在本地生产模式下运行构建时效果良好,这意味着导航无需完整页面重新加载。但是,当使用 terraform 部署时,所有 Link 组件都会导致整个页面重新加载。其他一切都按预期进行。

我的应用程序中混合有 Link 子项,有时它是 a,但有时它是一个 button 或只是一个 >divspan。在每种情况下,都会发生全页面刷新。这就是为什么我怀疑它一定与配置有关,而不是与 Link 使用有关,但是我不确定从哪里开始调试,并且我正在寻找正确方向的提示。

最佳答案

回来回答这个问题。就我而言,Link 组件本身和构建都没有任何问题。问题出在我们的 terraform 配置中的路径重写(它重写了 /_next/* 中的所有内容)。

It appears that getServerSideProps fetches JSON files which will be used to render the page他们的路径被重写并导致 403 错误,这使得页面重新加载,而不是让我像我习惯的那样无缝导航。

这个问题与我的配置非常相关,但我的一般建议是检查您是否重写了导航时下一步创建的 json 文件的任何路径,以防您遇到同样的问题仅在登台/制作时。

关于next.js - 部署后,在 nextjs 中使用 <Link/> 导航总是完全重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74222971/

相关文章:

reactjs - Material-Ui 和 Material-Ui-Next 之间的区别

Material-UI V5 RTL with stylis-plugin-rtl

webpack - 在 next.js/api 函数处理程序中要求节点模块的正确方法是什么

reactjs - 如何在 Next.js 中实现加载屏幕

typescript - 在 Next.js 测试中无法从 aws-jwt-verify 库中找到模块 '#node-web-compat'

next.js - 如何将 Tailwind CSS 滚动平滑类添加到 Next.js

javascript - 在 SWR 获取请求中使用 Next.js 动态路由查询对象

reactjs - 如何修复错误 "Prop ` className` 不匹配。服务器 : "MuiFormLabel-root-75...."?

javascript - 如何避免在React功能组件中不必要地重新渲染 "static components"?

javascript - next.js 应用程序的 vscode 启动配置