最佳答案
我正在阅读reactjs文档的形式部分,只是尝试了这段代码来演示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/>
值时,handleChange
回调中的第二个console.log
打印了与第一个console.log
相同的value
,为什么我不能在handleChange
回调的范围内看到this.setState({value: event.target.value})
的结果?