返回 Blog
React

Server Component 和 Client Component 怎么选

从本站的博客卡片和首页请求出发,理解服务端组件负责稳定内容,客户端组件负责交互和浏览器请求。

博客列表页默认是服务端组件,它可以直接获取 mock 数据并渲染文章卡片。这样页面内容稳定,代码也更接近服务器先准备好页面的思路。

首页因为使用 SWR 请求 /api/hello,所以需要在文件顶部写 use client。客户端组件适合处理加载状态、错误状态、点击、输入和浏览器里的请求。

一个简单判断是:展示型内容优先放服务端,需要用户交互或浏览器 API 时再改成客户端。边界越清楚,项目越容易理解。