Context + Reducer: eenvoudige state-containers
Combineer Context + useReducer om een kleine state-container te bouwen: de Provider stelt state en dispatch beschikbaar via een custom hook.
Context + Reducer: eenvoudige state-containers is een gratis React Academy-les op CoddyKit. Dit is les 3 van 3. 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 3 lessen.
Waarom Context + reducer?
Doel: Verpak statuslogica in een combinatie van een Provider (Context) en een reducer. Kinderen lezen de gegevens via een kleine aangepaste hook: geen props doorsluizen en voorspelbare wijzigingen.
Ontwerpstappen
Patroon:
- Maak Context
- Gebruik binnen Provider: useReducer(state, action)
- Stel {state, dispatch} beschikbaar
- Maak een hook in de stijl van useCounter() die useContext aanroept
Demo: tellercontainer
Een minimale CounterProvider stelt state en dispatch beschikbaar; kinderen gebruiken useCounter() om de gegevens te lezen en bij te werken.
<div id="root"></div>
Richtlijnen voor acties en de API
Richtlijnen:
- Houd acties klein (INC, DEC, RESET).
- Plaats de reducer bij de Provider.
- Exporteer alleen de aangepaste hook, zodat gebruikers de API eenvoudig houden.
Demo: takencontainer
Een kleine TodoProvider laat zien hoe meerdere velden voorspelbaar worden bijgewerkt met één reducer en een duidelijke hook-API.
<div id="root"></div>
Valkuilen en tips
Valkuilen:
- Vergeten om kinderen met de Provider te omwikkelen.
- Grote objecten in Context plaatsen; geef alleen door wat nodig is.
- De status in de reducer rechtstreeks wijzigen: geef altijd nieuwe objecten terug.
Controle: containerpatroon
Samenvatting
Samenvatting: Context biedt toegang en useReducer beheert overgangen. Exporteer een kleine useXxx-hook om {state, dispatch} te lezen en houd gebruikers eenvoudig.
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 “Context + Reducer: eenvoudige state-containers” gratis?
Ja — de volledige tekst van “Context + Reducer: eenvoudige state-containers” 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 3 lessen.
Wat leer ik in “Context + Reducer: eenvoudige state-containers”?
Combineer Context + useReducer om een kleine state-container te bouwen: de Provider stelt state en dispatch beschikbaar via een custom hook. 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 3.
Hoe lang duurt de les “Context + Reducer: eenvoudige state-containers”?
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
- De basis van Context en prop drilling vermijden
- De basis van useReducer en action-patronen
- Context + Reducer: eenvoudige state-containers