0%

immutable

背景

react中要求老状态是不可变对象,保证老状态随时可做diff对比去用,如果把老状态直接改了,那diff老状态和新状态就没有区别了

引入Immutable

实现原理:持久化数据结构,使用旧数据创建新数据时,要保证旧数据同时可用且不变。同时为了避免deepCopy把所有节点都复制一遍所带来的性能损耗,Immutable使用了结构共享,即如果对象树中一个节点发生变化,只修改这个节点和受他影响的父节点,其他节点则进行共享。