React Academy · Lektion

Prop Drilling: Wann es schadet und wann es in Ordnung ist

Erkennen Sie tiefe Drilling-Ketten und unterscheiden Sie unnötige Komplexität von echter Komplexität.

Lektion 2 von 413 Schritte

Prop Drilling: Wann es schadet und wann es in Ordnung ist ist eine kostenlose React Academy-Lektion auf CoddyKit. Dies ist Lektion 2 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, Prop-Drilling zu erkennen, zu verstehen, wann es echte Probleme verursacht, und es von Situationen zu unterscheiden, in denen das Weiterreichen von Props die richtige und einfache Lösung ist.

Was ist Prop-Drilling?

Prop-Drilling tritt auf, wenn Sie ein Prop durch Zwischenkomponenten weiterreichen, die es selbst nicht verwenden – nur deren untergeordnete Komponenten benötigen es. Jede mittlere Ebene muss das Prop akzeptieren und weiterreichen.
// Middle component: receives 'user' only to pass it down
function Layout({ user }) {
  return <Sidebar user={user} />;
}
// Sidebar: receives 'user' only to pass it down
function Sidebar({ user }) {
  return <UserAvatar user={user} />;
}
// UserAvatar: actually uses 'user'
function UserAvatar({ user }) {
  return <img src={user.avatarUrl} />;
}

Wann Prop-Drilling unproblematisch ist

Das Durchreichen über 1–2 Ebenen ist oft völlig unproblematisch und die einfachste Lösung. Die Kosten für das Hinzufügen von Context oder einer State-Bibliothek sind höher als die Kosten für ein zusätzliches Prop bei geringer Verschachtelungstiefe.

Anzeichen dafür, dass Prop-Drilling zum Problem wird

Prop-Drilling wird zum Problem, wenn: (1) Props durch 4 oder mehr Ebenen von Komponenten weitergereicht werden, die sie nicht verwenden, (2) die Umbenennung eines Props Änderungen in vielen Dateien erfordert, (3) schwer zu erkennen ist, welche Komponente die Daten tatsächlich verwendet.

Refactoring mit Komponentenkomposition

Bevor Sie zu Context greifen, versuchen Sie es mit **Komponentenkomposition**. Übergeben Sie die vollständig gerenderte Consumer-Komponente als Prop (oder als children), statt Rohdaten zu übergeben. Die Zwischenebene muss die Daten nie kennen.
// Instead of drilling 'user' through Layout → Sidebar → UserAvatar,
// render UserAvatar at the top level and pass it as a slot:
function App() {
  return <Layout sidebar={<UserAvatar user={user} />} />;
}

Komponentenkomposition reduziert Kopplung

Komposition bedeutet, dass die übergeordnete Komponente, der die Daten gehören, die Consumer-Komponente auch direkt rendert. Zwischenliegende Layout-Komponenten erhalten fertiges JSX und sind dadurch vollständig von den Daten entkoppelt.

Wann Context verwendet werden sollte

Verwenden Sie Context, wenn: (1) die Komposition das Durchreichen von komplexem JSX über viele Ebenen erfordern würde, (2) viele voneinander unabhängige Komponenten im Baum dieselben Daten benötigen (z. B. den aktuellen Benutzer, das Theme oder die Locale).

Wann eine State-Bibliothek verwendet werden sollte

Verwenden Sie Zustand, Redux oder eine ähnliche Lösung, wenn der Zustand komplex ist, häufig aktualisiert wird, Devtools benötigt oder über vollständig getrennte Komponentenbäume hinweg gemeinsam genutzt werden muss.

Der umgekehrte Datenfluss

Prop-Drilling gilt auch für Callbacks. Einen `onChange`-Handler über fünf Ebenen weiterzureichen, ist genauso mühsam wie das Durchreichen von Daten. Wenden Sie auf Callbacks dieselben Kompositions- und Context-Strategien an.

Entscheidungsablauf

Fragen Sie sich: Wie viele Ebenen? 1–2: einfach durchreichen. 3 oder mehr: zuerst Komposition versuchen. Immer noch unübersichtlich: Context verwenden. Komplexe Aktualisierungslogik oder mehrere Komponentenbäume: eine State-Bibliothek verwenden.

Kurzer Test

Welche Lösung sollten Sie versuchen, BEVOR Sie zu Context greifen, um Prop-Drilling zu lösen?

Zusammenfassung

Prop-Drilling über 1–2 Ebenen ist unproblematisch. Ab mehr als 3 Ebenen sollten Sie zuerst Komponentenkomposition versuchen. Verwenden Sie Context für viele Verbraucher derselben Daten. Verwenden Sie eine State-Bibliothek für komplexen Zustand oder Zustand über mehrere Komponentenbäume hinweg.

Als Nächstes

Nächste Lektion: **Kommunikationsmuster zwischen Geschwisterkomponenten** — Sie werden zwei Geschwisterkomponenten über den gemeinsamen Zustand der übergeordneten Komponente und Callback-Props koordinieren.
Kostenlos starten

Lerne React mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
88
Lektionen
324

Häufig gestellte Fragen

Ist die Lektion „Prop Drilling: Wann es schadet und wann es in Ordnung ist“ kostenlos?

Ja — der vollständige Text von „Prop Drilling: Wann es schadet und wann es in Ordnung ist“ 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 „Prop Drilling: Wann es schadet und wann es in Ordnung ist“?

Erkennen Sie tiefe Drilling-Ketten und unterscheiden Sie unnötige Komplexität von echter Komplexität. 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 2 von 4.

Wie lange dauert die Lektion „Prop Drilling: Wann es schadet und wann es in Ordnung ist“?

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. State nach oben heben: Prinzipien und Beispiele
  2. Prop Drilling: Wann es schadet und wann es in Ordnung ist
  3. Muster für die Kommunikation zwischen Geschwisterkomponenten
  4. Den richtigen Speicherort für State wählen
← Zurück zu React Academy