ReactJS后增量在setState中不起作用

时间:2017-07-03 08:45:25

标签: reactjs setstate

在使用ReactJS setState方法更新状态时,我观察到后增量运算符不起作用(也没有得到任何错误)所以我不得不使用+ 1代替相同的。不知道为什么这种行为,因为我是React的新手,并且对这一点感到震惊。

这是我的代码: 这不起作用:

this.setState((prevState) => ({
      left: prevState.left++
}));

这有效:

this.setState((prevState) => ({
      left: prevState.left + 1
}));

2 个答案:

答案 0 :(得分:1)

这是javascript,您将prevState指定为prevState值:

a = 0; 
a = a++;
a == 0 // true
a++
a == 0 // false

答案 1 :(得分:1)

x ++表达式首先返回x的值,然后将其递增

this.setState((prevState) => ({
  left: ++prevState.left
}));

应该给出预期的结果