react setState无法正常工作

时间:2017-05-12 07:06:29

标签: reactjs react-redux immutability setstate

我在状态中嵌套对象,我应该用动态键和值更新数据。我已经使用了React的不变性助手 set 操作。

我的示例代码:

var update = require('react-addons-update');

var myState = update(this.state, {
  data:  {[dynamic_keys]: {$set: dynamic_values}}
});

this.setState(myState);

问题是setState没有一次更新状态,在两次点击它是更新状态但不在一个..什么是处理这个问题的最佳方法?还是有任何其他技巧来反应setState吗?

1 个答案:

答案 0 :(得分:0)

首先" setState()"没有同步工作。由于它是异步函数,因此即使在执行后也需要很短的时间来设置状态。我将使用setState的第二个参数的最佳解决方案。 这是一个示例。

stateFunction(data){
    this.setState({
        data
        },
        () => {console.log(this.state.data)
    })
}