一句话先给结论(面试王炸)
React 是 UI 库,Next.js 是基于 React 的全栈框架。
一、核心区别一览(先给对比表)
| 对比点 | 纯 React(CRA / Vite) | Next.js |
|---|---|---|
| 定位 | UI 库 | React 全栈框架 |
| 路由 | react-router | 文件路由 |
| 渲染方式 | CSR | CSR + SSR + SSG + ISR |
| SEO | 差 | 好 |
| 首屏性能 | 一般 | 好 |
| 接口能力 | 无 | API Routes |
| 构建复杂度 | 自己搭 | 开箱即用 |
| 适合场景 | 后台系统 | 官网 / ToC / SEO 项目 |
二、面试官真正想问的 5 个点
1️⃣ 最大本质区别是什么?
❌ 初级回答
Next.js 支持 SSR
✅ 中高级正确回答
Next.js 把“渲染时机”变成了一等公民
解释给面试官听:
-
纯 React:只能浏览器渲染
-
Next.js:
- 构建时渲染(SSG)
- 请求时渲染(SSR)
- 客户端渲染(CSR)
- 增量静态生成(ISR)
👉 不是能不能 SSR,而是“什么时候渲染”
2️⃣ 为什么 Next.js 首屏性能更好?
你要从 3 个层面说:
① HTML 直出
- SSR / SSG
- 浏览器直接有内容
② 自动代码分割
- 按页面拆包
- 不需要手动配置
③ 内置优化
- Image Optimization
- Script 优先级
- 预加载
🔥 面试官爱听一句:
“Next.js 默认帮你做了 80% 性能优化。”
3️⃣ Next.js 为什么 SEO 好?
纯 React 的问题
- HTML 是空壳
- 爬虫要执行 JS
Next.js 的优势
- HTML 已有内容
- meta 可控
- OG 标签完整
👉 适合:
- 官网
- 活动页
- 电商
- 内容型网站
4️⃣ 路由机制区别(必问)
纯 React
<Routes>
<Route path="/user" element={<User />} />
</Routes>
Next.js
pages/user.tsx
🔥 面试官要你说的不是写法,而是:
路由即文件结构,天然约束项目规范
5️⃣ Next.js 为什么说是“全栈”?
你必须提到 API Routes / Server Actions
// app/api/user/route.ts
export async function GET() {}
👉 好处:
- 前后端同仓
- 无需单独 Node 服务
- 天然支持部署
三、Next.js vs React 的真实使用场景
✅ 适合用纯 React 的
- 后台管理系统
- 内部系统
- 对 SEO 无要求
- 纯交互应用
📌 原因:简单、直接、部署灵活
✅ 必须用 Next.js 的
- 官网
- ToC 产品
- 营销页面
- 内容平台
📌 原因:SEO + 首屏 + 性能
四、面试高分总结模板(你直接背)
React 更关注组件和状态管理,
Next.js 解决的是 渲染策略、性能、SEO 和工程规范。
如果项目需要首屏性能和搜索引擎友好,Next.js 是更优解。
五、面试官常见追问(提前给你)
Q1:Next.js 有缺点吗?
- 架构限制多
- 不适合复杂后台
- 学习成本略高
Q2:Next.js 能完全替代后端吗?
- ❌ 不适合复杂业务
- ✅ 适合轻量 API / BFF
你这个阶段的建议(实话)
结合你 React + 平台类项目经验:
- 👉 后台系统:React
- 👉 对外产品:Next.js
- 👉 面试:一定要说你理解“为什么选”