NextJS 浏览器后退按钮不使用 BFCache?

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

我正在为我的应用程序使用 NextJS 14,我希望具有以下行为:

  • 当用户转到不同的页面时,应该有完整的导航(逃避 SPA 行为)。
  • 当用户单击浏览器的后退按钮时,应加载上一页及其缓存状态。因此,如果我为该页面分配一个唯一的 ID,它应该与之前的创意 ID 相同。

但是,我在使其正常工作时遇到了一个问题。如果我使用

<Link>
组件,我可以保留之前的状态,但它不会执行整页加载。如果我使用
<a>
标签,我会加载整个页面,但不是从 bfcache 加载页面,而是向服务器发出另一个请求。

有什么办法可以解决这个问题吗?如果有什么没有意义的话,我很抱歉,我没有最好的心理模型。

next.js browser-cache bfcache
1个回答
0
投票

Next.JS 没有使用 bfcache,但结果是一样的

链接组件旨在无需重新加载整页即可进行导航,而锚标记则可以。

当您使用 Link 组件时,Next.JS 可以使用客户端缓存,但锚标记会触发整个页面重新加载,从而向服务器发送请求。

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