Maison >interface Web >js tutoriel >Maîtriser le hook useState de React : les bases et les cas d'utilisation avancés
Le hook useState est l'un des hooks les plus couramment utilisés dans React. Il vous permet d'ajouter un état à vos composants fonctionnels. Avant l'introduction des hooks, l'état ne pouvait être utilisé que dans les composants de classe, mais useState vous permet également d'avoir un état dans les composants fonctionnels. Cela rend les composants fonctionnels plus puissants et flexibles.
useState est une fonction qui permet de déclarer des variables d'état dans un composant fonctionnel. Il renvoie un tableau avec deux éléments :
const [state, setState] = useState(initialState);
import React, { useState } from 'react'; const Counter = () => { const [count, setCount] = useState(0); // Initial state is set to 0 const increment = () => { setCount(count + 1); // Update state using the setCount function }; return ( <div> <p>Current Count: {count}</p> <button onClick={increment}>Increment</button> </div> ); }; export default Counter;
Lorsque le nouvel état dépend de l'état précédent, vous pouvez passer une fonction à setState. Cela garantit que la mise à jour se produit sur la base de la valeur d'état la plus récente.
const [count, setCount] = useState(0); const increment = () => { setCount(prevCount => prevCount + 1); // Functional update to ensure accurate state updates };
Vous pouvez utiliser useState plusieurs fois dans un composant pour gérer différents éléments d'état.
import React, { useState } from 'react'; const MultiStateComponent = () => { const [count, setCount] = useState(0); const [name, setName] = useState('John'); return ( <div> <p>Count: {count}</p> <button onClick={() => setCount(count + 1)}>Increment</button> <p>Name: {name}</p> <button onClick={() => setName('Doe')}>Change Name</button> </div> ); };
Si l'état initial est complexe ou nécessite un calcul, vous pouvez transmettre une fonction à useState qui ne s'exécutera que lors du premier rendu du composant.
const [state, setState] = useState(initialState);
Si votre état est un objet ou un tableau, la fonction setState ne met à jour que la partie spécifique de l'état que vous fournissez. React n'effectue pas de fusion profonde, vous devez donc mettre à jour explicitement l'intégralité de l'objet d'état si vous souhaitez en modifier une partie.
import React, { useState } from 'react'; const Counter = () => { const [count, setCount] = useState(0); // Initial state is set to 0 const increment = () => { setCount(count + 1); // Update state using the setCount function }; return ( <div> <p>Current Count: {count}</p> <button onClick={increment}>Increment</button> </div> ); }; export default Counter;
const [count, setCount] = useState(0); const increment = () => { setCount(prevCount => prevCount + 1); // Functional update to ensure accurate state updates };
import React, { useState } from 'react'; const MultiStateComponent = () => { const [count, setCount] = useState(0); const [name, setName] = useState('John'); return ( <div> <p>Count: {count}</p> <button onClick={() => setCount(count + 1)}>Increment</button> <p>Name: {name}</p> <button onClick={() => setName('Doe')}>Change Name</button> </div> ); };
Le hook useState est un élément fondamental de React pour la gestion de l'état des composants. Il permet aux composants fonctionnels d'avoir leur propre état local, ce qui rend le code plus modulaire et plus facile à comprendre. En utilisant useState, vous pouvez créer des composants dynamiques et interactifs qui répondent aux entrées ou aux événements de l'utilisateur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!