为什么调用ReactisesetState方法不立即改变状态?我在读表格.段反应Js文档,并尝试使用此代码演示onChange使用(JSBIN).var React= require('react');var ControlledForm= React.createClass({
getInitialState: function() {
return {
value: "initial value"
};
},
handleChange: function(event) {
console.log(this.state.value);
this.setState({value: event.target.value});
console.log(this.state.value);
},
render: function() {
return (
<input type="text" value={this.state.value} onChange={this.handleChange}/>
);
}});React.render(
<ControlledForm/>,
document.getElementById('mount'));当我更新<input/>值在浏览器中,第二个console.log内部handleChange回调打印相同value作为第一个console.log为什么我看不到this.setState({value: event.target.value})在.范围内handleChange回调?
3 回答
DIEA
TA贡献1820条经验 获得超2个赞
handleChange: async function(event) { console.log(this.state.value); await this.setState({value: event.target.value}); console.log(this.state.value);}
添加回答
举报
0/150
提交
取消