Server Components (RSC) 在服务器上渲染,并将序列化结果发送到浏览器。它们为自己发送零 JavaScript — 仅数据/标记,而非它们的代码。
两种类型
jsx
() {
product = db..(id);
;
}
;
() {
[qty, setQty] = ();
;
}
| Server Component | Client Component | |
|---|---|---|
可以 await / 直接获取数据 | ✅ | ❌ |
| 访问服务器资源/机密 | ✅ | ❌ |
useState/useEffect/事件 | ❌ | ✅ |
| 向浏览器发送 JS | ❌ (零) | ✅ |
跨服务器→客户端边界传递的 Props 必须可序列化 — 您无法传递函数或类实例。RSC 将思维模型从"一切都在浏览器中运行"改变为"默认在服务器上渲染,仅在需要交互性的地方选择进入客户端"。