Dans React, state fait référence à un objet qui contient des données dynamiques qui influencent le rendu et le comportement d'un composant. L'état permet aux composants d'être interactifs en stockant des informations qui peuvent changer au fil du temps. Lorsque l'état change, React restitue automatiquement le composant pour refléter le nouvel état.
Ce guide vous expliquera les principes fondamentaux de l'état React, comment l'utiliser efficacement et comment il aide à gérer les interfaces utilisateur dynamiques.
State dans React est un objet intégré qui stocke des données ou des informations qui peuvent changer au cours du cycle de vie d'un composant. Contrairement aux props, qui sont transmis des composants parent aux composants enfants, state est géré au sein du composant lui-même et peut changer dynamiquement en réponse aux actions de l'utilisateur ou à d'autres événements.
Par exemple, l'état peut stocker les entrées de l'utilisateur, les données du formulaire ou l'état actuel d'un bouton bascule.
Dans les composants fonctionnels, l'état est généralement géré à l'aide du hook useState. Le hook useState vous permet de déclarer des variables d'état et fournit une fonction pour les mettre à jour.
const [state, setState] = useState(initialValue);
import React, { useState } from 'react'; const Counter = () => { // Declare state variable "count" with initial value of 0 const [count, setCount] = useState(0); // Increment the count when the button is clicked const increment = () => setCount(count + 1); return ( <div> <p>Count: {count}</p> <button onClick={increment}>Increment</button> </div> ); }; export default Counter;
Dans les composants de classe, l'état est déclaré à l'intérieur du constructeur à l'aide de this.state et les mises à jour sont effectuées à l'aide de this.setState().
const [state, setState] = useState(initialValue);
L'état dans React est mis à jour via la fonction setter (setState pour les composants fonctionnels et this.setState pour les composants de classe). Lorsque l'état est mis à jour, React restitue le composant pour refléter le nouvel état.
#### Exemple (composant fonctionnel) :
import React, { useState } from 'react'; const Counter = () => { // Declare state variable "count" with initial value of 0 const [count, setCount] = useState(0); // Increment the count when the button is clicked const increment = () => setCount(count + 1); return ( <div> <p>Count: {count}</p> <button onClick={increment}>Increment</button> </div> ); }; export default Counter;
#### Correction avec des mises à jour fonctionnelles :
import React, { Component } from 'react'; class Counter extends Component { constructor(props) { super(props); // Declare state in the constructor this.state = { count: 0 }; } // Method to increment the count increment = () => { this.setState({ count: this.state.count + 1 }); }; render() { return ( <div> <p>Count: {this.state.count}</p> <button onClick={this.increment}>Increment</button> </div> ); } } export default Counter;
React vous permet d'utiliser plusieurs variables d'état dans un seul composant, ce qui le rend plus modulaire et plus facile à gérer des états complexes.
const [count, setCount] = useState(0); const increment = () => { setCount(count + 1); console.log(count); // This will log the old value, not the updated one };
Dans React, si deux composants ou plus doivent partager le même état, vous « élevez l'état » jusqu'à leur ancêtre commun. L'ancêtre commun peut ensuite transmettre l'état et la fonction de mise à jour de l'état aux composants enfants en tant qu'accessoires.
const [state, setState] = useState(initialValue);
L'état est l'un des concepts fondamentaux de React et est essentiel pour créer des interfaces utilisateur interactives et dynamiques. En comprenant comment utiliser useState dans les composants fonctionnels et this.state dans les composants de classe, vous pouvez gérer efficacement les données dynamiques dans votre application. N'oubliez pas de suivre les meilleures pratiques telles que l'amélioration de l'État et le maintien de l'État local pour réduire la complexité et garantir des performances optimales.
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!