react
Quelle est une manière correcte de créer un état dans un composant de classe ?
Pratiquez vos connaissances
class MyComponent extends React.Component { ... }Explication
Créer un état dans un composant de classe dans React
Dans le cadre de la conception des applications en React, la gestion de l'état est une partie essentielle. Dans un composant de classe dans React, on crée l'état en initialisant une propriété state à l'intérieur de cette classe. La bonne façon de le faire est comme suit :
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.state = { value: '' };
}
}
Selon le traitement de l'objet state, il peut représenter différentes valeurs telles que un nombre, une chaîne, un tableau ou un autre objet, selon les besoins de votre composant.
La réponse correcte à la question était this.state = { value: '' };, qui fait exactement cela.
Les autres réponses ne sont pas correctes pour les raisons suivantes:
useState({ value: '' });: La fonctionuseStateest un Hook introduit dans React 16.8 qui est utilisé pour ajouter l'état local à un composant fonctionnel, pas à un composant de classe.setState({ value: '' });:setStateest une méthode utilisée pour mettre à jour l'état d'un composant, pas pour l'initialiser. UtilisersetStatedans le constructeur d'un composant de classe générera une erreur.const state = { value: '' };: Ceci est simplement la déclaration d'une constante nomméestate. Dans ce cas,staten'est pas lié au composant, mais est une variable locale dans le contexte où il est déclaré.
Il est préférable de toujours initialiser l'état dans le constructeur d'un composant de classe et de n'utiliser setState que pour des mises à jour. Souvenez-vous que les modifications d'état sont asynchrones dans React, vous devez donc compter sur l'ancien état si votre nouvelle valeur dépend de l'ancienne.
Envie d’aller plus loin ? Faites le quiz React - Les bases en entier.
Commencer le Quiz