Immutable 详解及 React 中实践

作者: 8ba7c349861d | 来源:发表于2018-02-02 15:14 被阅读48次

1.immutable.js 在React、Redux中的实践以及常用API简介
https://yq.aliyun.com/articles/69516
2.# immutableJS一些API
3.https://www.w3cplus.com/javascript/immutable-js.html
Immutable.js 的 API 主要包含以下几部分:

  • formJS(),将 JavaScript Object 和 Array 彻底转换为 Immutable Map 和 List
  • is(),与 Object.is() 类似都是对值的比较,但它会将 Immutable Iterable 视为值类型数据而不是引用类型数据,如果两个 Immutable Iterable 的值相等,则返回 true。与 Object.is() 不同的是,is(0, -0) 的结果为 true
  • List,有序索引集,类似于 JavaScript 中的 Array
  • Map,无序 Iterable,读写 Key 的复杂度为 O(log32 N)
  • OrderedMap,有序 Map,排序依据是数据的 set() 操作
  • Set,元素为独一无二的集合,添加数据和判断数据是否存在的复杂度为 O(log32 N)
  • OrderedSet,有序 Set,排序依据是数据的 add 操作。
  • Stack,有序集合,且使用 unshift(v)shift() 进行添加和删除操作的复杂度为 O(1)
  • Range(),返回一个 Seq.Indexed 类型的数据集合,该方法接收三个参数 (start = 1, end = infinity, step = 1),分别表示起始点、终止点和步长,如果 start 等于 end,则返回空的数据结合
  • Repeat(),返回一个 Seq.indexed 类型的数据结合,该方法接收两个参数 (value,times),value 表示重复生成的值,times 表示重复生成的次数,如果没有指定 times,则表示生成的 Seq 包含无限个 value
  • Record,用于衍生新的 Record 类,进而生成 Record 实例。Record 实例类似于 JavaScript 中的 Object 实例,但只接收特定的字符串作为 key,且拥有默认值
  • Seq,序列(may not be backed by a concrete data structure)
  • Iterable,可以被迭代的 (Key, Value) 键值对集合,是 Immutable.js 中其他所有集合的基类,为其他所有集合提供了 基础的 Iterable 操作函数(比如 map()filter
  • Collection,创建 Immutable 数据结构的最基础的抽象类,不能直接构造该类型

相关文章

网友评论

    本文标题:Immutable 详解及 React 中实践

    本文链接:https://www.haomeiwen.com/subject/qwkezxtx.html