React中的不可变数据Immutability

更改数据的两种方式:

1、直接更改变量;
2、建立所需修改变量的副本,进行修改后替换原数据。

不直接改变数据的好处

1、可以帮助我们增强组件和整体应用性能。
2、更简单的撤消/重做和步骤重现
3、不可变数据(Immutability)还使一些复杂的功能更容易实现。避免数据改变,使我们能够保留对旧数据的引用,如果我们需要在它们之间切换。
4、追踪变更(Tracking Changes)
确定可变对象是否已更改是复杂的,因为直接对对象进行更改。这样就需要将当前对象与先前的副本进行比较,遍历整个对象树,并比较每个变量和值。这个过程可能变得越来越复杂。确定不可变对象如何改变是非常容易的。如果被引用的对象与之前不同,那么对象已经改变了。仅此而已。
5、确定何时重新渲染(Determining When to Re-render in React)
React 中不可变数据最大好处在于当您构建简单的 纯(pure)组件 时。由于不可变数据可以更容易地确定是否已经进行了更改,这也有助于确定组件何时需要重新渲染。
shouldComponentUpdate()相关。

数据的复制

数组

1、slice()方法可以返回一个数据的副本

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容