在redux上使用immutable.js有什么意义?

时间:2017-04-06 18:30:01

标签: reactjs redux immutability immutable.js

我只是不明白使用immutable.js及其方法(set,map等)的优点是什么,因为我们可以在redux中设置状态,就像这样

state = {
            ...state,
            width: 'small'
          };

有什么不同
state.set('width', 'small');

1 个答案:

答案 0 :(得分:1)

与redux一起使用immutable有两个好处:

  1. 开发人员总是犯错误,很容易在你的reducer中意外改变状态而不是克隆它。这个bug在一段时间内“未被捕获”,然后在你最不期望的时候击中你。如果你陷入困境,ImmutableJS会很快给你一个错误。
  2. 性能:ImmutableJS利用事物的不可变性,并且能够使用可以支持收集操作的数据结构和算法,例如添加/删除/修改,具有更好的空间和优势。时间效率比典型的“复制集合和修改副本”,我们在自己写的时候往往会做。