Я смущен, когда состояние действительно меняется, когда this.setState() используется в React. Вот мой JSX:Что происходит, когда мы используем this.setState() в ReactJS?
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')
);
Как вы можете видеть, я протоколирование состояние итератора до и после this.setState() называется. Но оба раза он регистрирует одинаковое число. После первого раза я нажимаю кнопку, я ожидал log 0 и 1 соответственно, но они оба регистрируют 0 и 0. И при втором щелчке они записывают 1 и 1. Итак, когда состояние фактически изменяется и что именно происходит Вот?