14 hours ago
- 'use client' 和 'use server' 指令将向客户端发送代码(作为脚本)和通信回传(作为 fetch)抽象化,使得客户端/服务器边界在模块系统中成为语法层面的一部分。
- 'use server' 允许将服务器函数导出,并从客户端作为异步 HTTP 调用进行调用,提供了一种类型安全、可静态分析的 RPC 机制。
- 'use client' 允许服务器代码导入客户端组件作为引用,这些引用会变为 <script> 标签,并可选择性地进行服务器端预渲染以生成初始 HTML。
- 这两个指令共同使得将客户端/服务器应用程序建模为跨越两个环境的单一程序成为可能,具备类型安全、死代码分析和可复用抽象。
- 这些指令并非 React 专有;它们代表了一种类似于结构化编程或 async/await 的范式,在模块层面表达了网络鸿沟。
- 两个指令在导入时都不会执行代码;它们仅提供引用(客户端引用或异步函数)来桥接两个运行时环境。