React Server Components
Components that execute only on the server and never ship their code to the browser.
React Server Components are components that run exclusively on the server. They can read a database, use the filesystem, and hold secrets, and their code is never sent to the browser — the client receives a serialized description of their output instead of the logic that produced it.
The model's value is that it makes the Client-Server Boundary explicit and per-component rather than per-route. A page can be almost entirely server-rendered with a few interactive leaves, and only those leaves cost the visitor any JavaScript. This is a substantial change from conventional Server-Side Rendering, where the whole tree ships regardless.
The rules that follow are strict by necessity. Anything crossing the boundary must be serializable, so functions and class instances cannot be passed to a client component. Hooks and event handlers require a client component, marked explicitly. And a client component's imports are all client code — including anything it imports transitively, which is how a single innocuous import can put a large library into the visitor's bundle. See Module Graph and Code Splitting.
Server components also interact with data freshness: since they render on the server, caching and revalidation decide how current the output is, which makes Incremental Static Regeneration and Cache Invalidation part of the component model rather than infrastructure beneath it.
See also5
Hydration
Attaching client-side behavior to server-rendered markup without rebuilding it.
Web Platform18 connections
Islands Architecture
Rendering a page as static HTML with small independently interactive regions.
Web Platform18 connections
Performance Budget
A committed numeric ceiling on a page's cost, enforced automatically.
Web Platform26 connections
Lazy Loading
Deferring the fetch of a resource until it is needed, or until the browser is idle.
Web Platform21 connections
CSS-in-JS
Writing a component's styles in JavaScript alongside its markup and logic, so styles are scoped automatically and can depend on the component's state, an approach popular in the React era whose runtime costs led to build-time variants.
Web Platform16 connections
Linked from21
- Cache InvalidationWeb Platform
Deciding when a cached value has stopped being correct — famously one of the hard problems.
- Client-Server BoundaryWeb Platform
The line in an application where execution moves from the server to the browser.
- Code SplittingWeb Platform
Dividing an application bundle so a page downloads only the code it needs.
- Core Web VitalsWeb Platform
Google's small set of user-centered performance metrics: loading, interactivity, and visual stability.
- Critical Rendering PathWeb Platform
The sequence of steps between receiving HTML and painting pixels, and everything that blocks it.
- CSS-in-JSWeb Platform
Writing a component's styles in JavaScript alongside its markup and logic, so styles are scoped automatically and can depend on the component's state, an approach popular in the React era whose runtime costs led to build-time variants.
- HydrationWeb Platform
Attaching client-side behavior to server-rendered markup without rebuilding it.
- Incremental Static RegenerationWeb Platform
Serving a cached static page while regenerating it in the background after a chosen interval.
- Islands ArchitectureWeb Platform
Rendering a page as static HTML with small independently interactive regions.
- Lazy LoadingWeb Platform
Deferring the fetch of a resource until it is needed, or until the browser is idle.
- Module GraphWeb Platform
The directed graph of imports that decides what code ends up where.
- Performance BudgetWeb Platform
A committed numeric ceiling on a page's cost, enforced automatically.
- Progressive EnhancementWeb Platform
Building so the core experience works without scripts, with richer behavior layered on top.
- Server-Side RenderingWeb Platform
Producing a page's HTML on the server so the first response is already content.
- Single-Page ApplicationWeb Platform
A web app that loads one HTML page and then rewrites it with JavaScript as the user navigates, trading a slower, heavier first load for app-like transitions afterwards.
- State ManagementWeb Platform
How a front-end application keeps track of the data that changes as people use it, and decides where each piece lives, from local component state to global stores to server caches.
- Static Site GenerationWeb Platform
Rendering every page to a file at build time, so serving is just handing over bytes.
- Streaming ResponseNetworks & Distribution
Delivering a response incrementally as it is produced rather than all at once when complete.
- Tree ShakingWeb Platform
Statically removing exports that nothing imports, shrinking the shipped bundle.
- Virtual DOMWeb Platform
An in-memory representation of the UI that a framework diffs against the previous version to compute minimal real DOM updates.
- Web ComponentsWeb Platform
A set of browser-native APIs for building reusable, encapsulated HTML elements without a framework.