Server-side Rendering by Default
Components render on the server, enabling access to server-only resources like files or databases without bundling that code for the client.
Async Data Fetching During Render
Supports asynchronous operations such as reading files or loading content directly during the render phase on the server.
Streaming Rendered Output
Streams the rendered output to the client as JSON UI descriptions and serialized props, allowing faster initial page loads without full hydration.
Selective Client Component Inclusion
Server Components can dynamically select which Client Components to include, minimizing the client-side JavaScript bundle by downloading only necessary interactive code.
Preserves Client State and Animations
When Server Components update, React merges new server props into existing Client Components without resetting client state, focus, or animations.