14 February 2026 · 6 min
React Server Components, Explained Like I Was Confused Too
Server Components run on the server and ship no JS; Client Components add interactivity. Default to server, drop to client at the leaves where you actually need state or events.
React Server Components confuse people because they quietly change the default. For a decade 'a component' meant something that runs in the browser. Now, by default, it runs on the server and ships zero JavaScript — and that one shift is the whole mental model.
What runs where
Server Components render on the server: they can hit your database directly, keep secrets, and send only HTML. Client Components are the interactive bits — state, effects, event handlers — and they're the only things that ship JS to the browser.
Push the boundary to the leaves
Default everything to server, then mark the small interactive leaves as client with 'use client'. A whole page can be server-rendered with just a button or a form opting into the client. That's how you cut bundle size without losing interactivity.
The takeaway
If your data fetch feels like it's in the wrong place, it probably is — pull it up into a Server Component and let the client tree stay small. Fetch on the server, interact on the client.
Building something with AI, agents or RAG?
Usman Arif builds production LLM features and full-stack apps for teams worldwide. Let’s talk.
usman.professional01@gmail.com →