0Pricing
React Academy · Lektion

React Server Components erklärt

Verstehen Sie, was RSCs sind, wie sie sich von Client Components unterscheiden und wann Sie welche verwenden sollten.

React Server Components erklärt ist eine kostenlose React Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des React Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.

Willkommen

In dieser Lektion lernen Sie, was React Server Components (RSCs) sind, wie sie sich von Client Components unterscheiden und wann welcher Typ verwendet wird.

Die zwei Komponentenwelten

React 19 und der Next.js App Router teilen Komponenten in zwei Welten auf: **Server Components** (werden auf dem Server gerendert und sind nicht interaktiv) und **Client Components** (werden sowohl auf dem Server als auch im Client gerendert und verfügen über State und Event-Handler).

Server Components als Standard

Im Next.js App Router ist jede Komponente standardmäßig eine Server Component. Sie aktivieren den Client-Component-Modus, indem Sie oben in der Datei 'use client' hinzufügen.
// Server Component (default, no directive needed)
export default async function Page() {
  const data = await fetch('/api/posts').then(r => r.json());
  return <ul>{data.map(p => <li key={p.id}>{p.title}</li>)}</ul>;
}

Client Components

Fügen Sie oben in einer Datei 'use client' hinzu, um sie zu einer Client Component zu machen. Client Components können useState, useEffect, Event-Handler und Browser-APIs verwenden.
'use client';
import { useState } from 'react';

export function Counter() {
  const [n, setN] = useState(0);
  return <button onClick={() => setN(n+1)}>{n}</button>;
}

Funktionen von Server Components

Server Components können: Datenbankabfragen mit await ausführen, das Dateisystem lesen, auf Umgebungsgeheimnisse zugreifen, große reine Server-Pakete importieren und ohne an den Client gesendetes JavaScript rendern.
// Fetch from DB directly in the component!
import { db } from '@/lib/db';

export default async function UserList() {
  const users = await db.select().from(usersTable);
  return <ul>{users.map(u => <li key={u.id}>{u.name}</li>)}</ul>;
}

Einschränkungen von Server Components

Server Components können NICHT: useState, useEffect, Event-Handler (onClick usw.), Browser-APIs (window, localStorage) oder Context verwenden. Dafür ist 'use client' erforderlich.

Server und Client Components kombinieren

Das gängige Muster: Eine Server Component ruft Daten ab und übergibt sie als Props an eine Client Component. Der Server verarbeitet die Daten, der Client die Interaktion.
// Server Component
export default async function Page() {
  const user = await getUser();
  return <ProfileEditor user={user} />; // client component
}

// Client Component (separate file)
'use client';
export function ProfileEditor({ user }) {
  const [name, setName] = useState(user.name);
  return <input value={name} onChange={e => setName(e.target.value)} />;
}

Die Client-Boundary-Regel

Sobald Sie eine Datei mit 'use client' markieren, werden auch alle von ihr importierten Komponenten als Client Components behandelt. Die Grenze zwischen Server und Client verläuft auf Dateiebene.

Kein JavaScript für Server Components

Server Components werden auf dem Server in HTML gerendert. Ihr Komponenten-Code wird NIE an den Browser gesendet. Dadurch wird die Größe des JavaScript-Bundles deutlich reduziert.

Server Components vs. SSR

Herkömmliches SSR rendert eine vollständige Seite als HTML, sendet aber den Code aller Komponenten zur Hydration an den Client. Server Components senden ihren Code überhaupt nicht an den Client — nur ihre gerenderte Ausgabe.

Kurztest

Welche Direktive fügen Sie einer Datei hinzu, um sie im Next.js App Router zu einer React Client Component zu machen?

Zusammenfassung

Server Components laufen auf dem Server, können auf Datenbanken und Geheimnisse zugreifen und senden kein JS an den Client. Client Components fügen 'use client' hinzu und unterstützen State, Effekte und Event-Handler. Kombinieren Sie sie: Der Server ruft Daten ab, der Client verarbeitet Interaktionen.

Als Nächstes

Nächste Lektion: **Der use()-Hook für asynchrone Ressourcen** — Sie lesen Promises und Context beim Rendern mit dem React-19-use()-Hook.

Häufig gestellte Fragen

Ist die Lektion „React Server Components erklärt“ kostenlos?

Ja — der vollständige Text von „React Server Components erklärt“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des React Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „React Server Components erklärt“?

Verstehen Sie, was RSCs sind, wie sie sich von Client Components unterscheiden und wann Sie welche verwenden sollten. Du übst React Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um React Academy zu starten?

Keine Vorkenntnisse erforderlich. React Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „React Server Components erklärt“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser React Academy-Lektion Code schreiben und ausführen?

Ja. Jede React Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. React Server Components erklärt
  2. Der use()-Hook für asynchrone Ressourcen
  3. React Actions und useActionState
  4. useOptimistic für sofortiges Feedback
← Zurück zu React Academy