React Academy · Les

Patronen voor communicatie tussen siblings

Coördineer twee siblingcomponenten via gedeelde state in de parent en callbackprops.

Les 3 van 413 stappen

Patronen voor communicatie tussen siblings is een gratis React Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject React Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus React Academy bevat in totaal 4 lessen.

Welkom

In deze les implementeer je communicatie tussen zustcomponenten in React door twee componenten te coördineren via gedeelde state in de parent en callback-props.

Zustcomponenten kunnen niet rechtstreeks communiceren

In React stromen gegevens via props omlaag. Twee zustcomponenten hebben geen rechtstreekse verbinding. Alle communicatie tussen zustcomponenten verloopt via hun gemeenschappelijke parent.

Het patroon: gedeelde state in de parent

De parent bewaart de gedeelde waarde in state en geeft die door aan beide zustcomponenten: de ene ontvangt de waarde als gegevens (lezer), de andere ontvangt een callback om de waarde te wijzigen (schrijver).
function Parent() {
  const [selected, setSelected] = useState(null);
  return (
    <>
      <Picker onSelect={setSelected} />
      <Detail item={selected} />
    </>
  );
}

Lezende en schrijvende zustcomponenten

De schrijvende zustcomponent (Picker) roept de callback van de parent aan wanneer de gebruiker een selectie maakt. De lezende zustcomponent (Detail) ontvangt de resulterende waarde als prop. Geen van beide zustcomponenten weet iets over de andere.
function Picker({ onSelect }) {
  return <button onClick={() => onSelect('item-1')}>Pick item 1</button>;
}

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

Tweerichtingscommunicatie

Beide zustcomponenten kunnen tegelijk lezen en schrijven. Elke component ontvangt de huidige waarde EN een onChange-callback. Wijzigingen vanuit een van beide zustcomponenten werken de gedeelde state in de parent bij, waarna die weer naar beide componenten stroomt.

Voorbeeld van gesynchroniseerde formuliervelden

Een schuifregelaar en een numeriek invoerveld besturen dezelfde waarde. Beide ontvangen de waarde en onChange van de parent. Als je een van beide componenten wijzigt, wordt de andere automatisch bijgewerkt.
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)} />
    </>
  );
}

Het anti-patroon van een gebeurtenisbus vermijden

Gebruik geen globale gebeurtenisuitzender (EventEmitter/PubSub) voor communicatie tussen zustcomponenten in React. Hiermee omzeil je de gegevensstroom van React, waardoor state onzichtbaar wordt en debuggen lastig is.

Wanneer zustcomponenten ver uit elkaar staan

Als de zustcomponenten diep genest zijn onder verschillende takken van de boom, veroorzaakt het helemaal omhoog tillen van state naar hun gemeenschappelijke voorouder te veel props doorgeven. Dan zijn Context of een statebibliotheek geschikt.

Zustcomponenten losgekoppeld houden

Geen van beide zustcomponenten mag de andere importeren of ernaar verwijzen. De parent coördineert. Door deze ontkoppeling kun je de ene zustcomponent eenvoudig vervangen zonder de andere te beïnvloeden.

Communicatie tussen zustcomponenten testen

Test de parentcomponent: simuleer een actie in de schrijvende zustcomponent via de interface van de parent en controleer of de lezende zustcomponent de juiste waarde toont. De parent is de testbare coördinatie-eenheid.

Snelle controle

Hoe communiceren twee zustcomponenten in React met elkaar?

Samenvatting

Coördineer zustcomponenten via hun gemeenschappelijke parent: de parent beheert de gedeelde state, geeft gegevens door aan lezende componenten en callbacks aan schrijvende componenten. Geen van beide zustcomponenten hoeft iets over de andere te weten.

Hierna

Volgende les: **De juiste locatie voor state kiezen** — je past een besliskader toe voor lokale, omhoog getilde of globale state.
Gratis beginnen

Leer React met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
88
Lessen
324

Veelgestelde vragen

Is de les “Patronen voor communicatie tussen siblings” gratis?

Ja — de volledige tekst van “Patronen voor communicatie tussen siblings” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus React Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus React Academy bevat in totaal 4 lessen.

Wat leer ik in “Patronen voor communicatie tussen siblings”?

Coördineer twee siblingcomponenten via gedeelde state in de parent en callbackprops. Je oefent met React Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met React Academy te beginnen?

Ervaring vooraf is niet nodig. React Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.

Hoe lang duurt de les “Patronen voor communicatie tussen siblings”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over React Academy?

Ja. Elke les over React Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. State omhoog tillen: principes en voorbeelden
  2. Prop drilling: wanneer het problemen geeft en wanneer niet
  3. Patronen voor communicatie tussen siblings
  4. De juiste locatie voor state kiezen
← Terug naar React Academy