第一种
我们有时候会写俩个setState
this.setState({
a:1,
b:2,
})
this.setState({
c:3,
})
react默认会让变量a b 等待c一起执行 ,也就是看似我们先改变了a,b 然后改变了从c,其实他们是一起改变的。
第二种
我们先使用了setState(),然后调用了请求,在请求成功后又使用的setState(),那么第一次的也会等待请求返回来之后再次执行
解决方法:
使用 setTimeout(),想先改变那个状态值,就把他放入
setTimeout(()=>{
this.setState({
a:1,
})
},1000)
解释:setState是异步的,但是在setTimeout中,setState是同步的