13 hours ago
- Astro 组件 (.astro) 仅在服务器端运行,无法交互;客户端岛屿(React、Vue)处理交互性,但不能嵌套 Astro 组件。
- React 服务端组件 (RSC) 采用类似的思维模型:通过 'use client' 指令区分服务端组件和客户端组件,两者之间没有语法差异。
- RSC 允许不使用服务端或客户端特定功能的组件从任一端导入,使边界变得灵活。
- RSC 解决了 Astro 的限制:分形岛屿(带上下文的嵌套交互性)、无需完全重新加载页面的类 SPA 导航,以及可原地刷新的服务端部分。
- RSC 输出 React 树(HTML 或 JSON),实现可组合的服务端-客户端交错,而 Astro 输出带有一次性交接模型的 HTML。
- RSC 是较低层的实现(Next.js 或 Parcel RSC 实现),而 Astro 是一个框架;Astro 可能为类似概念提供更温和的入门方式。