0Pricing
React Academy · Lektion

Muster für die Kommunikation zwischen Geschwisterkomponenten

Koordinieren Sie zwei Geschwisterkomponenten über den gemeinsamen State des Parents und Callback-Props.

Muster für die Kommunikation zwischen Geschwisterkomponenten ist eine kostenlose React Academy-Lektion auf CoddyKit. Dies ist Lektion 3 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 implementieren Sie die Kommunikation zwischen Geschwisterkomponenten in React, indem Sie zwei Komponenten über den gemeinsamen Zustand der übergeordneten Komponente und Callback-Props koordinieren.

Geschwister können nicht direkt kommunizieren

In React fließen Daten über Props nach unten. Zwei Geschwisterkomponenten haben keine direkte Verbindung. Die gesamte Kommunikation zwischen Geschwistern läuft über ihre gemeinsame übergeordnete Komponente.

Das Muster: Gemeinsamer Zustand in der übergeordneten Komponente

Die übergeordnete Komponente verwaltet den gemeinsamen Wert in ihrem Zustand und übergibt ihn an beide Geschwisterkomponenten: Eine erhält ihn als Daten (Leser), die andere erhält einen Callback, um ihn zu ändern (Schreiber).
function Parent() {
  const [selected, setSelected] = useState(null);
  return (
    <>
      <Picker onSelect={setSelected} />
      <Detail item={selected} />
    </>
  );
}

Lesende und schreibende Geschwisterkomponenten

Die schreibende Geschwisterkomponente (Picker) ruft den Callback der übergeordneten Komponente auf, wenn der Benutzer eine Auswahl trifft. Die lesende Geschwisterkomponente (Detail) erhält den daraus resultierenden Wert als Prop. Keine der beiden Geschwisterkomponenten kennt die andere.
function Picker({ onSelect }) {
  return <button onClick={() => onSelect('item-1')}>Pick item 1</button>;
}

function Detail({ item }) {
  return <p>Selected: {item}</p>;
}

Zwei-Wege-Kommunikation

Beide Geschwisterkomponenten können gleichzeitig lesend und schreibend sein. Jede erhält den aktuellen Wert UND einen onChange-Callback. Änderungen von einer der beiden Geschwisterkomponenten aktualisieren den gemeinsamen Zustand der übergeordneten Komponente, der anschließend wieder an beide weiterfließt.

Beispiel für synchronisierte Formularfelder

Ein Schieberegler und ein Zahleneingabefeld steuern denselben Wert. Beide erhalten den Wert und onChange von der übergeordneten Komponente. Wenn eine der beiden Komponenten geändert wird, wird die andere automatisch aktualisiert.
function VolumeControl() {
  const [vol, setVol] = useState(50);
  return (
    <>
      <input type="range" value={vol} onChange={e => setVol(+e.target.value)} />
      <input type="number" value={vol} onChange={e => setVol(+e.target.value)} />
    </>
  );
}

Anti-Pattern Event-Bus vermeiden

Vermeiden Sie globale Event-Emitter (EventEmitter/PubSub) für die Kommunikation zwischen Geschwisterkomponenten in React. Dadurch wird der Datenfluss von React umgangen, der Zustand bleibt unsichtbar und das Debugging wird erschwert.

Wenn Geschwisterkomponenten weit voneinander entfernt sind

Wenn die Geschwisterkomponenten unter verschiedenen Zweigen des Baums tief verschachtelt liegen, führt das Hochheben des Zustands bis zu ihrem gemeinsamen Vorfahren zu übermäßigem Prop-Drilling. In diesem Fall sind Context oder eine State-Bibliothek angebracht.

Geschwisterkomponenten entkoppelt halten

Keine der beiden Geschwisterkomponenten sollte die andere importieren oder referenzieren. Die übergeordnete Komponente übernimmt die Koordination. Durch diese Entkopplung lässt sich eine Geschwisterkomponente leicht ersetzen, ohne die andere zu beeinflussen.

Kommunikation zwischen Geschwisterkomponenten testen

Testen Sie die übergeordnete Komponente: Simulieren Sie eine Aktion in der schreibenden Geschwisterkomponente (über die Schnittstelle der übergeordneten Komponente) und prüfen Sie, ob die lesende Geschwisterkomponente den korrekten Wert anzeigt. Die übergeordnete Komponente ist die testbare Koordinationseinheit.

Kurzer Test

Wie kommunizieren zwei Geschwisterkomponenten in React miteinander?

Zusammenfassung

Koordinieren Sie Geschwisterkomponenten über ihre gemeinsame übergeordnete Komponente: Diese verwaltet den gemeinsamen Zustand, übergibt Daten an lesende Komponenten und Callbacks an schreibende Komponenten. Keine der beiden Geschwisterkomponenten muss die andere kennen.

Als Nächstes

Nächste Lektion: **Den richtigen Ort für den Zustand auswählen** — Sie werden einen Entscheidungsrahmen für lokalen, nach oben gehobenen oder globalen Zustand anwenden.

Häufig gestellte Fragen

Ist die Lektion „Muster für die Kommunikation zwischen Geschwisterkomponenten“ kostenlos?

Ja — der vollständige Text von „Muster für die Kommunikation zwischen Geschwisterkomponenten“ 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 „Muster für die Kommunikation zwischen Geschwisterkomponenten“?

Koordinieren Sie zwei Geschwisterkomponenten über den gemeinsamen State des Parents und Callback-Props. 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 3 von 4.

Wie lange dauert die Lektion „Muster für die Kommunikation zwischen Geschwisterkomponenten“?

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