react setSate 不生效的问题
叫我马爷,大声叫
1、setSate
this.state.a1=this.state.a1+1
this.setSate({a1:this.state.a1})
//这样生效吗?
不生效,因为this.state.a1 会去内存的读取,get操作,所以this.state.a1=this.state.a1+1等于不生效
2、
const [leftseconds, setleftseconds] = useState(60);
leftseconds-=1
setleftseconds(leftseconds)
会生效吗?
不生效
leftseconds-=1 临时生效
setleftseconds(leftseconds) //先进行get操作,读取出来的值,还是以前的,所以不生效
3、如何生效
- setleftseconds(leftseconds-1)就生效了
- let temp=_.clone(leftseconds);setleftseconds(temp)setState 和这个原理是相同的
漫思