RSC default vs interactive client components.
Skip to solutionKEEP THE
mediumFrontend
What is the difference between Server Components and Client Components in Next.js?
1.2k views
01
Understand the problem
nextjsrscserver-componentsclient-components
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Nudge consolestandby
Stuck? Beam a request up — the console returns a conceptual nudge that guides your logic without spoiling the implementation.
03
Study the solution
Server Components render on the server, can access the backend directly, and ship no JS to the browser — they're the default in the App Router. Client Components ('use client') run in the browser and enable state, effects, and event handlers. You compose them, keeping interactivity at the leaves.
Solution ready — 2 min read
Classified // press E to declassify
04
Read the code
Server shell + interactive client leaf
// app/page.tsx — Server Component (no 'use client')
import Likes from './likes';
export default async function Page() {
const post = await getPost(); // server-only data access
return <article><h1>{post.title}</h1><Likes initial={post.likes} /></article>;
}
// likes.tsx — Client Component (interactivity)
'use client';
import { useState } from 'react';
export default function Likes({ initial }) {
const [n, setN] = useState(initial);
return <button onClick={() => setN(n + 1)}>♥ {n}</button>;
}05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.
Transmission complete // awaiting log
KEEP THE
STREAK ALIVE.
Dossier 15 of 95 decoded in the Next.js track. One more won't hurt.