完整路由缓存
工作原理
Next.js 在构建的时候会自动渲染和缓存路由
next 渲染原理:
next 使用react api 渲染,当渲染的时候,渲染工作会根据路由和 Suspense 拆分成多个 chunk,每个 chunk 分为两步进行渲染:
1.react 将服务端组件渲染一种特殊数据格式 React Server Component Payload,简写为 RSC payload
以流的形式逐行从服务端发送给客户端
包含信息
- 服务端组件渲染结果
- 客户端组件的占用和引用文件
- 从服务端组件传给客户端组件的数据
2.next 会用RSC payload 和客户端组件代码在服务端渲染HTML
dynamic = 'force-dynamic'或 revalidate = 0 这会跳过完整路由缓存和数据缓存
路由缓存
Next.js 有一个存放在内存中的客户端缓存,它会在用户会话期间按路由段存储 RSC Payload。这就是路由缓存。