Immutable 及 React 中实践

前端之家收集整理的这篇文章主要介绍了Immutable 及 React 中实践前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
                                            <table class="text"&gt;<tbody><tr class="li1"&gt;

<td class="ln"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

解决这个问题,一般的做法是使用 shallowCopy(浅拷贝)或 deepCopy(深拷贝)来避免被修改, 但这样做造成了 cpu 和内存的浪费   Immutable 可以很好地解决这些问题。 Immutable Data 就是一旦创建,就不能再被更改的数据。对 Immutable 对象的任何修改添加删除操作 都会返回一个新的 Immutable 对象。Immutable 实现的原理是 Persistent Data Structure(持久化数据结构), 也就是使用旧数据创建新数据时,要保证旧数据同时可用且不变。同时为了避免 deepCopy 把所有节点都复制一 遍带来的性能损耗,Immutable 使用了 Structural Sharing(结构共享),即如果对象树中一个节点发生变化, 只修改这个节点和受它影响的父节点,其它节点则进行共享。   Facebook 工程师 Lee Byron 花费 3 年时间打造,与 React 同期出现,但没有被默认放到 React 工具集里 (React 提供了简化的 Helper)。它内部实现了一套完整的 Persistent Data Structure,还有很多易用的数据类型。 像 Collection、List、Map、Set、Record、Seq。有非常全面的map、filter、groupBy、reduce``find函数式操作方法。 同时 API 也尽量与 Object 或 Array 类似。   其中有 3 种最重要的数据结构说明一下:(Java 程序员应该最熟悉了)   Map:键值对集合,对应于 Object,ES6 也有专门的 Map 对象 List:有序可重复的列表,对应于 Array Set:无序且不可重复的列表 原文链接:/note/420798.html

猜你在找的程序笔记相关文章