我正在阅读reactjs文档的Forms部分,只是尝试了这段代码来演示用法(JSBIN)。onChange
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
从React的文档中:
setState()
不会立即变异,this.state
但会创建待处理的状态转换。this.state
调用此方法后进行访问可能会返回现有值。无法保证对呼叫的同步操作,setState
并且可以为提高性能而对呼叫进行批量处理。
如果要在状态更改发生后执行某个函数,请将其作为回调传递。
this.setState({value: event.target.value}, function () {
console.log(this.state.value);
});
问题内容: 好的,我会尽快解决这个问题,因为它应该很容易解决… 我读过很多类似的问题,答案似乎非常明显。首先,我不需要查找任何内容!但是…我有一个错误,我无法理解如何修复或为什么会发生。 如下: 与此相关的代码更多,但这就是我的问题所在。应该工作吧? 我也尝试过这个: 所以我有这两个,两者应该相同。我实际上是将状态设置为与其上方的行相同! 但是它总是返回与应有的相反的结果。 我用的时候也一样; 如
好吧,我会尽快解决的,因为这应该是一个很容易的解决办法... 我读过一堆类似的问题,答案似乎相当明显。从一开始我就不用抬头看了!但是...我有一个错误,我无法理解如何修复或为什么它会发生。 具体如下:
问题内容: 我正在阅读reactjs文档的Forms部分,只是尝试了这段代码来演示用法(JSBIN)。 onChange 当我在浏览器中更新值时,回调内的第二个与第一个相同,为什么在回调范围内看不到结果? 问题答案: 从React的文档中: 不会立即变异,但会创建待处理的状态转换。调用此方法后进行访问可能会返回现有值。无法保证对呼叫的同步操作,并且可以为提高性能而对呼叫进行批量处理。 如果要在状态
我正在阅读 reactjs 文档的 Forms 部分,并尝试使用此代码来演示 用法 (JSBIN)。 当我更新
我正在尝试学习挂钩,方法让我感到困惑。我正在以数组的形式为状态分配初始值。中的set方法不适合我,无论是否使用扩展语法。 我在另一台PC上制作了一个API,我正在调用并获取我想要设置为状态的数据。 这是我的代码: 无论是设置电影(结果)还是设置电影(结果)都不起作用。 我希望将
我想问一下,为什么在执行事件时,我的状态没有改变。我已经搜索到需要在构造函数中绑定函数,但是状态仍然没有更新。 下面是我的代码: