Ich bin verwirrt, wenn der Zustand tatsächlich ändert, wenn this.setState() in React verwendet wird. Hier ist meine JSX:Was passiert, wenn wir this.setState() in ReactJS verwenden?
var Hello = React.createClass({
getInitialState: function() {
return {
iterator: 0
}
},
handleClick: function() {
console.log(this.state.iterator);
this.setState({
iterator: this.state.iterator + 1
})
console.log(this.state.iterator)
},
render: function() {
return <button onClick={this.handleClick}>{this.state.iterator}</button>;
}
});
ReactDOM.render(
<Hello name="World"/>,
document.getElementById('container')
);
Wie Sie sehen können, bin ich Protokollierung der Zustand der Iterator vor und nach this.setState() aufgerufen wird. Aber beide Male protokolliert es die gleiche Nummer. Nach dem ersten Mal, als ich auf den Knopf klickte, rechnete ich damit, 0 und 1 zu loggen, aber beide loggen 0 und 0. Und beim zweiten Klick loggen sie 1 und 1. Also wann wird der Zustand geändert und was genau passiert Hier?