用途:为 Next.js 的 Cache Components 与部分预渲染(PPR)提供专家级编码指导。当项目 next.config 中启用 cacheComponents: true 时自动激活,可在编写 React Server Components、数据获取、Server Actions、性能优化和代码审查时主动应用。
主要能力:以“代码优于配置”为理念,用 'use cache' 指令、cacheLife()、cacheTag()、updateTag()、revalidateTag() 等 API 实现细粒度缓存;将静态外壳、缓存内容与动态流式内容组合,形成 PPR 页面结构。提供缓存决策树:判断组件是否获取数据、是否依赖请求上下文、是否可跨用户复用,从而决定使用 'use cache' 还是 <Suspense>。
使用方式:在 next.config.ts 中设置 cacheComponents: true;用 grep -r "cacheComponents" next.config.* 检测是否启用。缓存函数必须为 async,'use cache' 须为函数体首条语句,cacheLife() 紧随其后。参数会进入缓存键;generateStaticParams 必须至少提供一个参数,否则构建报错。
适用场景:博客、商品列表等可缓存内容;用户相关动态内容用 Suspense 流式输出;Server Actions 变更后调用 updateTag() 或 revalidateTag() 失效缓存。
限制:'use cache' 内不能访问 cookies/headers 等运行时数据,需提取到缓存边界外;动态数据必须包在 Suspense 中;export const revalidate 与 export const dynamic 已弃用。完整 API 参考、模式与排错见 REFERENCE.md、PATTERNS.md、TROUBLESHOOTING.md。