【发布时间】:2017-01-04 14:34:19
【问题描述】:
dealerTwisted = () => {
console.log(this.state.dealersOverallTotal, 'total on entry');
let looping = true;
while(looping){
console.log(this.state.dealersOverallTotal,'same');
if(this.state.dealersOverallTotal < 17){
this.deal2Dealer();
let dealersDeck = this.state.dealersDeck;
let newDealersDeckTotal = [];
for (var i=0; i < dealersDeck.length; i++){
newDealersDeckTotal.push(dealersDeck[i].rankValue)
}
let total = newDealersDeckTotal.reduce(function(a, b) {
return a + b;
},
0);
console.log(total, 'tot');
this.setState({ dealersOverallTotal: total }, () => console.log(this.state.dealersOverallTotal));
}
总 console.log 正在做正确的事情,而回调函数没有将 DealersOverallTotal 更新为新的 total 值。 例如 总计将记录:每个循环 4、15、19 等 this.state.dealersOverallTotal 将在每个循环中记录:12、12、12 等 它应该与总计同步,因为我已将其状态设置为与总计相同
谁能看到它为什么不更新? (我尝试将它放在回调中无济于事)
【问题讨论】:
标签: javascript reactjs while-loop