在将SetState与“ ++”(例如this.state.counter ++)一起使用时,我不断收到“请勿突变”警告,而当我将其与“ +1”进行设置时却没有得到。为什么会这样?
答案 0 :(得分:2)
this.state.counter++
表达式使this.state.counter
递增并返回递增的值。 this.state.counter + 1
表达式仅返回递增的值。
为避免其他冲突,您不应基于this.state
设置新状态。请改用以下代码:
this.setState(old => ({counter: old.counter + 1}))