在使用ReactJS setState方法更新状态时,我观察到后增量运算符不起作用(也没有得到任何错误)所以我不得不使用+ 1代替相同的。不知道为什么这种行为,因为我是React的新手,并且对这一点感到震惊。
这是我的代码: 这不起作用:
this.setState((prevState) => ({
left: prevState.left++
}));
这有效:
this.setState((prevState) => ({
left: prevState.left + 1
}));
答案 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
}));
应该给出预期的结果