Server and Client Components

Server components

Render data-focused UI on the server.

8 minutes - Absolute beginner

What this means

App Router components are server components by default. They can safely access server-side services and send rendered output without shipping all component code to the browser.

In beginner terms, this topic answers one practical question: "What should I write, and why does React care about it?" Do not try to memorize the syntax first. First understand the idea, then connect the syntax to that idea.

Why it matters

Server components reduce browser JavaScript and keep trusted data access on the server.

When you build real React screens, this idea helps you decide where data should live, what the user should see, and what should happen after an interaction. That is why this lesson is part of the main path instead of being an optional detail.

Step by step

1. Notice the UI problem this topic solves. 2. Look at the smallest possible example. 3. Change one value and predict what should appear. 4. Run the example and compare the result with your prediction. 5. Use the practice task before moving on.

Small example

export default async function Page() {
  const tracks = await getTracks();
  return <TrackList tracks={tracks} />;
}

Common mistake

Do not use browser hooks such as useState inside a server component.

Practice task

Identify which part of a track page can render on the server.

Remember this

Use server components for data and non-interactive UI.

try.it

Examples

Try it: Server components

Edit this focused Next.js example and run it in the browser preview.

Preview runs React in a sandboxed browser frame, never on the server.

react

editor

preview

Preparing preview...

practice.next

Practice before moving on

check.understanding

Lesson quiz

Login to save progress

You can read lessons without an account, but progress requires login.

Login