Next.js:GET路由处理器中fetch()请求是否会被缓存?
在Next.js GET路由处理器中调用fetch的缓存行为
结合你提到的Next.js文档表述,我们可以明确:
- 路由处理器里的fetch不会被记忆化,但这和「缓存」是两个不同概念——记忆化是React组件层面的重复请求复用,而缓存是Next.js对fetch响应的存储机制。
- 对于GET路由处理器中发起的
fetch()请求:默认情况下,Next.js会自动缓存其响应,和普通组件中发起的GET fetch行为一致。 - 只有两种情况会阻止该缓存:
- 你在fetch选项里手动设置了缓存策略,比如
cache: 'no-store'或者next: { revalidate: 0 } - 该fetch请求是在POST路由处理器中发起的(也就是文档里提到的例外场景)
- 你在fetch选项里手动设置了缓存策略,比如
简单总结:GET路由处理器里的fetch默认会被缓存,除非你主动修改缓存配置,或者该请求是在POST路由处理器内调用的。
内容的提问来源于stack exchange,提问作者Adel Tahir
相关产品推荐
相关产品推荐

