【发布时间】:2022-12-28 16:57:03
【问题描述】:
我有一个对所有页面都使用 SSR 的 NextJs 应用程序(因此无需担心缓存的静态页面)。在 App.getInitialProps 中,我得到了 user-agent 来对请求是来自移动设备还是桌面进行有根据的猜测,以在服务器上呈现正确的布局。但我遇到了一个问题,有时移动布局会在桌面上呈现,反之亦然。
经过广泛的调试,我得出了这样的结论:如果两个用户代理向同一个 URL 发出请求,那么下一个更改将混淆请求并提供错误的答案。例如,如果 chrome 和 safari 用户同时请求相同的 URL,则 chrome 用户有可能得到为 safari 用户准备的响应。在此示例中,这不是问题,但如果 Next 弄乱了移动和桌面请求,服务器和客户端就会失去同步,水化阶段就会失败。
有没有人遇到过这样的问题?我想我在我的_app.js 或next.config.js 中做错了什么,但我找不到任何关于这样的问题
【问题讨论】: