react中setState为何使用不可变值


在修改状态时千万不能改变原来的状态state 怎么理解这句话呢?

比如 在组件状态state中定义一个数组arr:[1,2,3,4]

后面每次点击一个按钮,都给原数组加个100,

可以用 this.state.arr.concat(100) 这样不会改变原来的数组arr,r如果用push就会改变原来的值,之所以这样做是因为在shouldMountUpdate生命周期a中会将要改变的值与之前的值做个比较来确定是否改变视图,以这种方式来优化性能,所有切记,这个非常重要!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM