Immutable.js 4.00-rc9 API简记
来源:互联网 发布:扫矿老僧软件使用介绍 编辑:程序博客网 时间:2024/06/18 05:45
前言:之前的项目中,在遇到redux的深层嵌套问题时,直接使用深拷贝的库对state进行深拷贝再操作并返回修改后的新的state,一直觉得很不优雅和低效。下一个项目中打算在redux中使用Immutable.js。在此对一些API进行简单记录。日后用到其它也会慢慢补充
Immutable的中文翻译就是不可变,所以。对Immutable对象每一个操作都是返回的一个新的对象。寒假的时候再看看这个库的源码吧,
文档地址
Immutable中的一些数据结构
Map 无序键值对(有点像js的Object)
设置
- set (对应delete、deleteAll)/ setIn 深层设置数据
//浅层
- update 更新数据/updateIn 深层更新数据
- merge\mergeWith 两个Map的合并
mergeWith 可用于解决冲突
- mergeDeep 深层合并 / mergeDeepWith深层合并手动解决冲突
const one = Map({ a: Map({ x: 10, y: 10 }), b: Map({ x: 20, y: 50 }) })const two = Map({ a: Map({ x: 2 }), b: Map({ y: 5 }), c: Map({ z: 3 }) })one.mergeDeep(two)// Map {// "a": Map { "x": 2, "y": 10 },// "b": Map { "x": 20, "y": 5 },// "c": Map { "z": 3 }// }one.mergeDeepWith((oldVal, newVal) => oldVal / newVal, two)// Map {// "a": Map { "x": 5, "y": 10 },// "b": Map { "x": 20, "y": 10 },// "c": Map { "z": 3 }// }
- filter
- map
- toJS 深转化js对象
- toJSON 浅转化js
- toArray 浅转化
- toObject 浅转化
读取
- get/getIn
List 类似于js的数组
OrderedMap 有序键值对(按照设置的顺序?)
Set 无序集合类型
OrderedSet 有序集合,按照添加值顺序排序
Stack 栈 unshift shift
Record 类似于js的Object,but enforces a specific set of allowed string keys, and has default values.
Seq 有效地使用一些高价集合方法(map、filter之类的),不会产生intermediate
Collection 所有集合的基类,键值对入口可以被遍历
阅读全文
0 0
- Immutable.js 4.00-rc9 API简记
- immutable.js
- Immutable.js
- immutable-js
- Immutable.js和JS
- 系统API的简记
- freeRTOS API简记
- Sequelize API简记
- Vue API简记
- Immutable.js 使用总结
- JS中的Immutable
- Immutable.js使用
- LESS.JS 框架 简记
- JS基础知识简记
- Vue.js入门简记
- JS -- Immutable.js & React & Redux
- WCRPatcher 1.2 RC9
- immutable日常操作之深入API
- 20170612
- PHP WebShell变形技术总结
- 「Deep Learning」Non-local Neural Networks
- xutil3的使用
- ADB抓日志详解
- Immutable.js 4.00-rc9 API简记
- Tensorflow 学习笔记
- 虚拟内存
- 第十五周项目一(2)——验证算法之快速排序
- 编码问题总结
- 一文说尽C++赋值运算符重载函数(operator=)
- LD_LIBRARY_PATH用法详解
- 数据的四种基本存储方法
- help用法总结(基于材料:“老托福听力93篇”)