0Pricing
React Academy · Lektion

State nach oben heben: Prinzipien und Beispiele

Verschieben Sie gemeinsamen State in den nächsten gemeinsamen Vorfahren und reichen Sie ihn über Props weiter.

State nach oben heben: Prinzipien und Beispiele 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 das Muster zum Nach-oben-Heben von State kennen – dabei wird gemeinsamer State in den nächsten gemeinsamen Vorfahren verschoben, damit Geschwisterkomponenten synchron bleiben können.

Das Problem: Nicht synchronisierte Geschwister

Wenn zwei Geschwisterkomponenten dieselben Daten benötigen, führt separat verwalteter State in jeder Komponente zu Synchronisationsfehlern. Die Lösung besteht darin, den State in den gemeinsamen Parent zu verschieben.

Den gemeinsamen Vorfahren ermitteln

Ermitteln Sie die nächstgelegene Komponente, die ein Parent **beider** Komponenten ist, welche die gemeinsamen Daten benötigen. Verschieben Sie den State dorthin und geben Sie ihn als Props weiter.
function Parent() {
  const [value, setValue] = useState('');
  return (
    <>
      <InputA value={value} onChange={setValue} />
      <PreviewB value={value} />
    </>
  );
}

Beispiel: Einen Counter nach oben heben

Angenommen, zwei Komponenten zeigen denselben Counter an. Statt count in jeder Komponente zu verwalten, heben Sie den State in den Parent. Beide erhalten count als Prop und rufen einen onChange-Callback auf, um ihn zu aktualisieren.
function App() {
  const [count, setCount] = useState(0);
  return (
    <>
      <CounterDisplay count={count} />
      <CounterControl count={count} onIncrement={() => setCount(c => c + 1)} />
    </>
  );
}

Callback-Props für Aktualisierungen

Children können den State des Parents nicht direkt ändern. Der Parent übergibt einen Callback (wie `onChange`) als Prop. Children rufen den Callback auf, wenn sie eine State-Änderung anfordern möchten.

Controlled und Uncontrolled nach dem Anheben des States

Nach dem Anheben des States wird das Child, das den State zuvor besaß, zu einer **controlled component** – es erhält den aktuellen Wert und onChange vom Parent. Der Parent ist die einzige Quelle der Wahrheit.

State über mehrere Ebenen anheben

Manchmal müssen Sie den State mehrere Ebenen im Baum nach oben heben. Wenn der State über viele zwischengeschaltete Komponenten hinweg angehoben werden muss, sollten Sie stattdessen Context in Betracht ziehen, um das Durchreichen von Props zu vermeiden.

Vorteile des Anhebens von State

Das Anheben von State schafft eine einzige Quelle der Wahrheit, macht den Datenfluss vorhersehbar (immer von oben nach unten), vereinfacht das Debugging und erleichtert es, später weitere Consumer desselben States hinzuzufügen.

Abgeleiteter State aus angehobenem State

Berechnen Sie abgeleitete Werte aus dem angehobenen State im Parent und übergeben Sie sie als zusätzliche Props. Duplizieren Sie State niemals – leiten Sie ihn ab.
const [items, setItems] = useState([]);
const filteredItems = items.filter(i => i.done); // derived, not separate state

Wenn das Anheben von State überhandnimmt

Wenn Sie feststellen, dass Sie State über 4 oder mehr Ebenen anheben, ist die Struktur des Komponentenbaums möglicherweise ungeeignet oder es ist Zeit für Context oder eine State-Management-Bibliothek.

Kurzer Test

Wie gehen Sie richtig vor, wenn zwei Geschwisterkomponenten dasselbe Stück State gemeinsam verwenden müssen?

Zusammenfassung

Heben Sie State in den nächsten gemeinsamen Vorfahren, wenn Geschwister ihn gemeinsam verwenden müssen. Geben Sie den aktuellen Wert nach unten und Änderungs-Callbacks nach oben weiter. Leiten Sie Werte ab, statt State zu duplizieren.

Als Nächstes

Nächste Lektion: **Prop-Drilling: Wann es problematisch ist und wann nicht** — Sie werden problematische Prop-Drilling-Ketten erkennen und entscheiden, wann sie eine Lösung erfordern.

Häufig gestellte Fragen

Ist die Lektion „State nach oben heben: Prinzipien und Beispiele“ kostenlos?

Ja — der vollständige Text von „State nach oben heben: Prinzipien und Beispiele“ 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 „State nach oben heben: Prinzipien und Beispiele“?

Verschieben Sie gemeinsamen State in den nächsten gemeinsamen Vorfahren und reichen Sie ihn über Props weiter. 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 „State nach oben heben: Prinzipien und Beispiele“?

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