✅ Next.js 渲染速查表

🔹 SSG(静态站点生成)

在构建时将页面预渲染为静态 HTML,以实现快速性能。

🔹ISR (增量静态再生)

按照设定的间隔或触发器在后台重新生成静态页面。

🔹 SSR(服务器端渲染)

每次请求时使用服务器上最新的动态数据呈现页面。

🔹 CSR(客户端渲染)

加载空白外壳并在加载后在浏览器中获取/呈现内容。

💥渲染模式概述

🚀 快速设置指南

✅ SSG -- 应用路由器中的默认设置

js 复制代码
// app/page.tsx
export const revalidate = 3600; // Optional: Regenerate every 1 hour

export default async function Page() {
  const res = await fetch('https://api.example.com/posts');
  const posts = await res.json();
  return <div>{posts.length} posts</div>;
}

🔁 ISR -- 添加重新验证间隔

js 复制代码
export const revalidate = 60; 
// Rebuild page every 60 seconds

🔄 SSR -- 始终获取最新数据

js 复制代码
export const dynamic = 'force-dynamic'; // or use cache: 'no-store'

const data = await fetch('https://api.example.com/stats', {
  cache: 'no-store'
});

🌐 CSR -- 仅客户端渲染

js 复制代码
'use client';

import { useEffect, useState } from 'react';

export default function ClientComponent() {
  const [data, setData] = useState(null);

  useEffect(() => {
    fetch('/api/data').then(res => res.json()).then(setData);
  }, []);

  return <pre>{JSON.stringify(data)}</pre>;
}

🧭什么情况下该使用什么模式?

swift 复制代码
📝 静态内容?→ SSG
🔁 每隔几分钟刷新一次?→ ISR
👤 身份验证数据还是实时数据?→ SSR
🧩 完全交互式 UI?→ CSR

📌最后的提示

vbnet 复制代码
✅ SSG 是 App Router 中的默认设置(除非您禁用缓存)
⚠️仅在绝对必要时使用"使用客户端"
🔀 混合搭配策略:服务器渲染的页面+客户端组件=⚡强大的用户体验
🎯 在你的 Next.js 应用中是否使用了正确的渲染策略?
相关推荐
thatway19894 小时前
闲聊-关于AI终结者的警醒
前端
努力的小郑4 小时前
突发!Claude Code 51万行源码全网裸奔:一场史诗级“开源”事故,国内大厂笑麻了
前端·后端·ai编程
七度黑光4 小时前
用 openclaw 给故障复盘打分:质量审核自动化实践
运维·服务器·前端·数据库·自动化
HashTang4 小时前
Claude Code 源码中 REPL.tsx 深度解析:一个 5005 行 React 组件的架构启示
前端·后端·ai编程
wendycwb5 小时前
前端城市地址根据最后一级倒推,获取各层级id的方法
前端·vue.js·typescript
终端鹿5 小时前
Vue3 模板引用 (ref):操作 DOM 与子组件实例 从入门到精通
前端·javascript·vue.js
千寻girling6 小时前
不知道 Java 全栈 + AI 编程有没有搞头 ?
前端·人工智能·后端
小码哥_常6 小时前
Android开发:精准捕获应用的前后台行踪
前端
蜡台6 小时前
Vue 打包优化
前端·javascript·vue.js·vite·vue-cli
木斯佳6 小时前
前端八股文面经大全:快手前端一面 (2026-03-29)·面经深度解析
前端·宏任务·原型链·闭包