this.state = { isOpen: false };
onClickHandler() {
this.setState(currentState => ({
isOpen: !currentState.isOpen
}));
}
There is only one state here,isOpne,but when i set a state ,there i see currentState, what does this means
3 Réponses :
Dans l'exemple ci-dessus, l'état actuel est l'état précédent que vous avez utilisé auparavant lorsque vous avez plusieurs éléments comme de nombreux utilisateurs et que vous souhaitez comparer et que vous souhaitez négliger certains d'entre eux avec True False, vous pouvez utiliser mais pour l'état basculant, vous pouvez simplement utiliser Ci-dessous Code:
this.state = { isOpen: false };
onClickHandler() {
this.setState({
isOpen: !this.state.isOpen
});
}
Ce n'est pas la réponse à la question. C'est pourquoi je l'ai écrit dans un commentaire.
Cher Que signifie l'état actuel inclure cette réponse espère que vous comprenez la question
Pour calculer le nouvel état à l'aide de l'état actuel, vous pouvez très bien faire:
this.state = { isOpen: false };
onClickHandler() {
this.setState(currentState => ({
isOpen: !this.state.isOpen
}));
}
Qu'est-ce que cela signifie? p>
Si vous allez chez les docs, vous pouvez trouver qu'il existe deux façons de mettre à jour l'état. p>
- via UTILISATION DE L'objet WAY LI>
- en passant une fonction. li> ol>
1. h3>
Avec cela, vous devez passer uniquement la propriété de l'objet d'état à mettre à jour. comme: p>
xxx pré> 2. h3>
Dans ce cas, vous le nommez comme
actuelState code> Il fait référence à l'état précédent, lequel n'est pas encore mis à jour. p>xxx pré> vous pouvez y penser comme
ceci.state code>. p> blockquote>
Qu'est-ce que l'actuel est actuel?
état précédent que vous avez stocké précédemment
Et si je n'utilise pas de courant en courant ..?
Vous n'en avez probablement pas besoin.
SetState ({est ouvert :! CurrentState.is Open}) Code>Cela fonctionnera sans courant
Donc c'est le droit facultatif ..
Essayez
setState ({isopen:! This.state.isopen}) code> à la place. Je suppose que ça va travailler aussi.@Mayankpandav très merci, je suis juste un débutant
@JOelloyd Lloyd, très merci, je suis juste un débutant
ok pas de problème, suivez ma réponse si vous aimez alors faire UPVOTEZ et marquez-la correctement