我在状态中嵌套对象,我应该用动态键和值更新数据。我已经使用了React的不变性助手 set 操作。
我的示例代码:
var update = require('react-addons-update');
var myState = update(this.state, {
data: {[dynamic_keys]: {$set: dynamic_values}}
});
this.setState(myState);
问题是setState没有一次更新状态,在两次点击它是更新状态但不在一个..什么是处理这个问题的最佳方法?还是有任何其他技巧来反应setState吗?
答案 0 :(得分:0)
首先" setState()"没有同步工作。由于它是异步函数,因此即使在执行后也需要很短的时间来设置状态。我将使用setState的第二个参数的最佳解决方案。 这是一个示例。
stateFunction(data){
this.setState({
data
},
() => {console.log(this.state.data)
})
}