C
Chen 的数字空间
首页博客项目笔记工具箱
全部博客笔记
C
Chen 的数字空间

记录项目实践、技术文章与学习笔记,持续把想法打磨成可复用的系统能力。

快速导航

  • 首页
  • 博客
  • 项目
  • 笔记
  • 工具箱
  • 近况
  • 留言墙
  • 阅读清单
  • 分类
  • 关于
  • 合作咨询
  • 搜索

订阅频道

  • 全部更新
  • 博客频道
  • 笔记频道
  • 项目频道

关注我

暂未公开社交联系方式。

© 2026 Chen 的数字空间. All rights reserved.

Server Components 和 Client Components 的边界怎么定

不是所有交互都值得放进客户端,也不是所有内容都应该在服务端一次做完。关键在于边界。

发布于 2026-04-09更新于 2026-04-13约 2 分钟阅读
#App Router#React#Next.js

Tutorial Path

App Router 实战系列

当前位置:02 / 04

让内容站点既保持轻量,又保留必要交互。

内容型站点天然更适合 Server Components,因为列表、详情、分类、SEO 这些能力本身就依赖服务端读取和组织内容。但这并不意味着整个站点都不能有交互。关键不是“选哪一边”,而是把交互限定在正确范围内。

先问页面的主要任务是什么

如果一个页面的主要任务是展示内容、输出 metadata、参与索引,那么它默认就应该尽量停留在服务端。博客详情页、项目详情页、分类聚合页都属于这一类。

如果一个局部区块需要即时输入、状态切换、浏览器 API 或本地存储,那它才值得切到客户端,比如搜索框、主题切换、收藏按钮、命令面板。

不要为了一个按钮把整页都变成 client

这是最常见的误区。页面里只要出现一个交互,就有人顺手在最顶层加 use client。结果是:本来很适合服务端渲染的详情页,也被迫变成客户端组件,SEO、首屏和数据边界都开始变复杂。

更稳的做法是让页面主体保持服务端,只把真正需要交互的局部抽成独立 client 组件。

小结

Server Components 和 Client Components 不是对立阵营,而是一条清晰的分工线。内容站点应该让服务端负责主叙事,让客户端负责必要互动。下一篇我们回到 SEO 相关的 App Router 能力:generateMetadata、sitemap 和 robots 应该怎样在项目里落地。

上一篇

Route Groups、布局和动态路由到底该怎么分工

下一篇

从 mock 数据迁移到真实内容文件的完整做法

目录

先问页面的主要任务是什么不要为了一个按钮把整页都变成 client小结