1.什么是immutable?
翻译为“不可改变的”,是一种持久化数据,它一旦被创建就不会被修改,当你修改immutable对象的时候返回新的immutable,但是原数据不会改变
2.为什么要使用immutable?
通过js对象的深拷贝对性能消耗太大,所以需要通过immutable来提升性能,避免牵一发而动全身
使用immutable后再进行深拷贝,只会拷贝你改变的节点,从而达到节省性能的目的
immutable的不可变性让传函数更强大,每次返回新的immutable的特性让程序员可以对其进行链式操作,用起来更方便
3,安装使用
下载
npm i immutable -S
引入在我们使用的组件中
import Immutable from './Immutable';
4.map数据结构
immutable.Map():创建一个类似于js中的对象的Map对象
操作map:
1.增:map.set() map.setIn()
2.删:delete() deleteIn()
3.改:update() updateIn()
4.查:get() getIn()
5.list数据结构
immutable.List():创建一个类似于js中的数组的List对象
1.增:push() splice()unshift() shift()
2.删:pop()
3.改:set() update()
4.查:getIn() get()
6.API
merge() 合并map对象
toObject() immutable的map对象转换成JS对象
toArray() immutable的list对象转js数组
tiJS()immutable的 map对象/list对象 转 JS对象/JS数组
Map():JS对象或数组转换成immutable
fromJS():JS对象/JS数组 转换成immutable