What problem does it solve?
React Server Components solve the problem of shipping too much client-side JavaScript by moving data fetching and rendering work to the server while keeping the right parts interactive on the client.
Core Features & Use Cases
- Zero-bundle server rendering for non-interactive UI: Render UI and fetch server data without sending that component’s code to the browser.
- Clear server/client boundaries: Use the default Server Component model and add the 'use client' directive only when you need interactivity (state, effects, event handlers).
- Performance-oriented composition: Combine server-rendered content with Client Components for interactive elements, reducing bundle size and improving load characteristics in frameworks like Next.js App Router.
Use case example: Build a documentation or warranty-details page where markdown rendering, sanitization, and data lookups happen on the server, while only a small widget (e.g., a disclosure toggle or search input) is shipped as a Client Component.
Quick Start
Use the react-server-components skill to refactor a Next.js App Router page so that data fetching and markdown rendering run in Server Components while interactive elements keep the 'use client' directive.