Je pense que ce pourrait être une question stupide à poser, mais croyez-moi, je suis débutant pour réagir. Quelqu'un pourrait-il m'expliquer pourquoi nous utilisons prevState dans ReactjS. J'ai essayé de comprendre, mais j'ai échoué.
Voici mon code. Aidez-moi à comprendre
state = {
placeName : '',
places : []
}
placeSubmitHanlder = () => {
if(this.state.placeName.trim()===''){
return;
}
this.setState(prevState => {
return {
places : prevState.places.concat(prevState.placeName)
};
});
};
Voici une démo avec un code commenté pour vous donner plus d'informations: http://codepen.io/PiotrBerebecki/pen/rrGWjm
constructor() {
super();
this.state = {
value: 0
}
}
React docs: https://facebook.github.io/react/docs/reusable-components.html#es6-classes
L'API [classe React ES6] est similaire à React.createClass à l'exception de getInitialState. Au lieu de fournir une méthode getInitialState distincte, vous configurez votre propre propriété d'état dans le constructeur.
D'où vient prevState?
Le prevState provient de l'api setState: https://facebook.github.io/react/docs/component-api.html#setstate
Il est également possible de passer une fonction avec la fonction de signature (état, accessoires). Cela peut être utile dans certains cas lorsque vous souhaitez mettre en file d'attente une mise à jour atomique qui consulte la valeur précédente de state + props avant de définir des valeurs. Par exemple, supposons que nous voulions incrémenter une valeur dans l'état:
this.setState(function(previousState, currentProps) {
return {
value: previousState.value + 1
};
});