Toestandsbeheer met de UseState-Hook
De useState-hook is een fundamentele React-hook die functionele componenten toestaat om een status te hebben. Het biedt een manier om statusvariabelen binnen een component te declareren en bij te werken.
Syntax:
Om de useState-hook te gebruiken, roepen we deze aan en geven we de initiële status (initialState) als argument mee. Het retourneert een array met twee elementen: de huidige statuswaarde (state) en een functie (setState) om de status bij te werken.
const [state, setState] = useState(initialState);
-
Elke naam kan gekozen worden voor een
state-variabele. Het is aanbevolen om een variabelenaam te gebruiken die nauwkeurig beschrijft welke status wordt opgeslagen of bijgewerkt, zoalsinputValue,page,number,name, enzovoort; -
Op dezelfde manier hebben we flexibiliteit bij het kiezen van de functienaam voor
setState. Echter, het volgen van een specifiek patroon is een standaardconventie: de naam van desetState-functie begint met "set" gevolgd door de naam van de bijbehorende statusvariabele. Bijvoorbeeld, als destate-variabelemailis, zou de bijbehorendesetState-functie doorgaanssetMailgenoemd worden.
Opmerking
Wanneer
setStatewordt aangeroepen, rendert React de component opnieuw en werkt de status bij met de nieuwe waarde. Het is belangrijk om te weten dat bij gebruik vanuseStatede statusvariabele geen object hoeft te zijn. Het kan een primitieve waarde zijn (zoals een getal, string of boolean) of een complexe waarde (zoals een array of object).
Voorbeeld 1:
We bouwen de Counter-component, die zijn eigen status bijhoudt. Wanneer op de Increment-knop wordt geklikt, werken we de status bij en wordt de component opnieuw gerenderd.
import React, { useState } from "react";
const Counter = () => {
const [count, setCount] = useState(0);
const increment = () => {
setCount(count + 1);
};
return (
<div>
<p>Count: {count}</p>
<button onClick={increment}>Increment</button>
</div>
);
};
In dit voorbeeld wordt de useState-hook gebruikt om een statusvariabele count te declareren met een initiële waarde van 0. De functie setCount wordt gebruikt om de variabele count bij te werken telkens wanneer op de knop wordt geklikt.
Regel-voor-regel uitleg:
- Regel 1: We importeren de
useState-hook uit de React-bibliotheek om de functionaliteit te gebruiken; - Regel 3: We definiëren de
Counter-component met de conventionele functiesyntaxis; - Regel 4: We initialiseren de status met behulp van de
useState-hook;
countvertegenwoordigt de waarde van de teller. De initiële waarde is0, gespecificeerd binnen de haakjes vanuseState(0);setCountis de functie die de status bijwerkt wanneer dat nodig is.
- Regels 6-8: Deze JavaScript arrow-functie behandelt de logica voor het bijwerken van de status. Deze wordt uitgevoerd wanneer op de "increment"-knop wordt geklikt. Binnen de functie gebruiken we de functie
setCountom de status bij te werken; - Regels 10-15: rendert de markup van de component. Op regel 12 wordt de huidige statuswaarde (
count) weergegeven. De knop op regel 13 gebruikt hetonClick-attribuut om de functie te definiëren die wordt uitgevoerd bij een klik. In dit geval geven we deincrement-functie door.
Volledige app-code:
Voorbeeld 2:
We construeren de Form-component met een eigen, onafhankelijke status. De gebruiker wordt gevraagd zijn naam in te voeren in het invoerveld. Afhankelijk van de invoer van de gebruiker passen we de weergegeven inhoud aan.
import React, { useState } from "react";
const Form = () => {
const [userName, setUserName] = useState("");
const handleChange = (event) => {
const inputValue = event.target.value;
setUserName(inputValue);
};
return (
<div>
<input
type="text"
value={userName}
onChange={handleChange}
placeholder="Your name"
/>
<p>Hello, {userName}!</p>
</div>
);
};
In dit voorbeeld wordt de useState-hook gebruikt om een statusvariabele userName te declareren met als initiële waarde een lege string. De functie setUserName werkt de variabele userName bij wanneer dat nodig is.
Regel-voor-regel uitleg:
- Regel 1: We importeren de
useState-hook uit de React-bibliotheek om de functionaliteit te gebruiken; - Regel 3: We definiëren de
Form-component met behulp van de standaard functiesyntaxis; - Regel 4: We stellen de initiële status in met de
useState-hook;
userNamevertegenwoordigt de waarde van het invoerveld, aanvankelijk ingesteld als een lege string (""), gespecificeerd binnen de haakjes vanuseState("");setUserNameis de functie waarmee we de status kunnen bijwerken wanneer dat nodig is.
- Regels 6-9: Deze JavaScript arrow-functie behandelt de logica voor het bijwerken van de status. Deze wordt geactiveerd wanneer een gebruiker iets in het veld typt. We halen de invoerwaarde op binnen de functie met
event.target.value. Vervolgens gebruiken we de functiesetUserNameom de status bij te werken met de waarde uit het invoerveld; - Regels 11-21: De markup van de component wordt gerenderd.
- Op regel 15 wijzen we
userNametoe als initiële waarde voor de input met behulp van hetvalue-attribuut; - Op regel 16 gebruiken we het
onChange-attribuut om de functie te specificeren die wordt aangeroepen wanneer de invoer verandert.
- Op regel 15 wijzen we
Volledige app-code:
1. Welke van de volgende uitspraken is waar over de useState hook?
2. Wat is het doel van de setState functie die wordt geretourneerd door de useState hook?
3. Hoe stel je de initiële waarde van de state in bij het gebruik van de useState hook?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Can you explain how the useState hook works in more detail?
What are some common use cases for useState in React components?
Can you show how to use multiple useState hooks in a single component?
Awesome!
Completion rate improved to 2.17
Toestandsbeheer met de UseState-Hook
Veeg om het menu te tonen
De useState-hook is een fundamentele React-hook die functionele componenten toestaat om een status te hebben. Het biedt een manier om statusvariabelen binnen een component te declareren en bij te werken.
Syntax:
Om de useState-hook te gebruiken, roepen we deze aan en geven we de initiële status (initialState) als argument mee. Het retourneert een array met twee elementen: de huidige statuswaarde (state) en een functie (setState) om de status bij te werken.
const [state, setState] = useState(initialState);
-
Elke naam kan gekozen worden voor een
state-variabele. Het is aanbevolen om een variabelenaam te gebruiken die nauwkeurig beschrijft welke status wordt opgeslagen of bijgewerkt, zoalsinputValue,page,number,name, enzovoort; -
Op dezelfde manier hebben we flexibiliteit bij het kiezen van de functienaam voor
setState. Echter, het volgen van een specifiek patroon is een standaardconventie: de naam van desetState-functie begint met "set" gevolgd door de naam van de bijbehorende statusvariabele. Bijvoorbeeld, als destate-variabelemailis, zou de bijbehorendesetState-functie doorgaanssetMailgenoemd worden.
Opmerking
Wanneer
setStatewordt aangeroepen, rendert React de component opnieuw en werkt de status bij met de nieuwe waarde. Het is belangrijk om te weten dat bij gebruik vanuseStatede statusvariabele geen object hoeft te zijn. Het kan een primitieve waarde zijn (zoals een getal, string of boolean) of een complexe waarde (zoals een array of object).
Voorbeeld 1:
We bouwen de Counter-component, die zijn eigen status bijhoudt. Wanneer op de Increment-knop wordt geklikt, werken we de status bij en wordt de component opnieuw gerenderd.
import React, { useState } from "react";
const Counter = () => {
const [count, setCount] = useState(0);
const increment = () => {
setCount(count + 1);
};
return (
<div>
<p>Count: {count}</p>
<button onClick={increment}>Increment</button>
</div>
);
};
In dit voorbeeld wordt de useState-hook gebruikt om een statusvariabele count te declareren met een initiële waarde van 0. De functie setCount wordt gebruikt om de variabele count bij te werken telkens wanneer op de knop wordt geklikt.
Regel-voor-regel uitleg:
- Regel 1: We importeren de
useState-hook uit de React-bibliotheek om de functionaliteit te gebruiken; - Regel 3: We definiëren de
Counter-component met de conventionele functiesyntaxis; - Regel 4: We initialiseren de status met behulp van de
useState-hook;
countvertegenwoordigt de waarde van de teller. De initiële waarde is0, gespecificeerd binnen de haakjes vanuseState(0);setCountis de functie die de status bijwerkt wanneer dat nodig is.
- Regels 6-8: Deze JavaScript arrow-functie behandelt de logica voor het bijwerken van de status. Deze wordt uitgevoerd wanneer op de "increment"-knop wordt geklikt. Binnen de functie gebruiken we de functie
setCountom de status bij te werken; - Regels 10-15: rendert de markup van de component. Op regel 12 wordt de huidige statuswaarde (
count) weergegeven. De knop op regel 13 gebruikt hetonClick-attribuut om de functie te definiëren die wordt uitgevoerd bij een klik. In dit geval geven we deincrement-functie door.
Volledige app-code:
Voorbeeld 2:
We construeren de Form-component met een eigen, onafhankelijke status. De gebruiker wordt gevraagd zijn naam in te voeren in het invoerveld. Afhankelijk van de invoer van de gebruiker passen we de weergegeven inhoud aan.
import React, { useState } from "react";
const Form = () => {
const [userName, setUserName] = useState("");
const handleChange = (event) => {
const inputValue = event.target.value;
setUserName(inputValue);
};
return (
<div>
<input
type="text"
value={userName}
onChange={handleChange}
placeholder="Your name"
/>
<p>Hello, {userName}!</p>
</div>
);
};
In dit voorbeeld wordt de useState-hook gebruikt om een statusvariabele userName te declareren met als initiële waarde een lege string. De functie setUserName werkt de variabele userName bij wanneer dat nodig is.
Regel-voor-regel uitleg:
- Regel 1: We importeren de
useState-hook uit de React-bibliotheek om de functionaliteit te gebruiken; - Regel 3: We definiëren de
Form-component met behulp van de standaard functiesyntaxis; - Regel 4: We stellen de initiële status in met de
useState-hook;
userNamevertegenwoordigt de waarde van het invoerveld, aanvankelijk ingesteld als een lege string (""), gespecificeerd binnen de haakjes vanuseState("");setUserNameis de functie waarmee we de status kunnen bijwerken wanneer dat nodig is.
- Regels 6-9: Deze JavaScript arrow-functie behandelt de logica voor het bijwerken van de status. Deze wordt geactiveerd wanneer een gebruiker iets in het veld typt. We halen de invoerwaarde op binnen de functie met
event.target.value. Vervolgens gebruiken we de functiesetUserNameom de status bij te werken met de waarde uit het invoerveld; - Regels 11-21: De markup van de component wordt gerenderd.
- Op regel 15 wijzen we
userNametoe als initiële waarde voor de input met behulp van hetvalue-attribuut; - Op regel 16 gebruiken we het
onChange-attribuut om de functie te specificeren die wordt aangeroepen wanneer de invoer verandert.
- Op regel 15 wijzen we
Volledige app-code:
1. Welke van de volgende uitspraken is waar over de useState hook?
2. Wat is het doel van de setState functie die wordt geretourneerd door de useState hook?
3. Hoe stel je de initiële waarde van de state in bij het gebruik van de useState hook?
Bedankt voor je feedback!