react中setState为何使用不可变值

Posted bamboopanders

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了react中setState为何使用不可变值相关的知识,希望对你有一定的参考价值。

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

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

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

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

以上是关于react中setState为何使用不可变值的主要内容,如果未能解决你的问题,请参考以下文章

react 总结

对String值不可变的理解以及String类型的引用传递问题

vue和react的区别

Java新人,关于String类中,private final char value[],到底是数组本身不可变还是数组中的值不可变

react Immutability 理解

vue 和react的区别