所以我有这个:
let total = newDealersDeckTotal.reduce(function(a, b) {
return a + b;
},
0);
console.log(total, 'tittal'); //outputs correct total
setTimeout(() => {
this.setState({ dealersOverallTotal: total });
}, 10);
console.log(this.state.dealersOverallTotal, 'dealersOverallTotal1'); //outputs incorrect total
newDealersDeckTotal
只是一个数字数组[1, 5, 9]
例如
然而this.state.dealersOverallTotal
没有给出正确的总数,但是total
做?我什至设置了超时延迟,看看这是否解决了问题。
有明显的还是我应该发布更多代码?
setState()
通常是异步的,这意味着当时您console.log
状态,还没有更新。尝试将日志放入回调中setState()
方法。状态改变完成后执行:
this.setState({ dealersOverallTotal: total }, () => {
console.log(this.state.dealersOverallTotal, 'dealersOverallTotal1');
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)