在 redux 上使用 immutable.js 有什么意义?
What's the point of using immutable.js on redux?
我只是不明白使用 immutable.js 及其方法(set、map 等)有什么好处,因为我们可以像这样在 redux 中设置状态
state = {
...state,
width: 'small'
};
和
有区别吗
state.set('width', 'small');
将不可变与 redux 结合使用有两个优点:
- 开发人员总是会犯错误,很容易意外地改变 reducer 中的状态而不是克隆它。该错误会持续 "uncaught" 一段时间,然后在您最不期望的时候攻击您。如果你搞砸了,ImmutableJS 会很快给你一个错误。
- 性能:ImmutableJS 利用事物的不可变特性,能够使用数据结构和算法来支持像 add/remove/modify 这样的集合操作,比典型的 space 和时间效率更好 [= =19=] 当我们必须自己编写时,我们倾向于这样做。
我只是不明白使用 immutable.js 及其方法(set、map 等)有什么好处,因为我们可以像这样在 redux 中设置状态
state = {
...state,
width: 'small'
};
和
有区别吗state.set('width', 'small');
将不可变与 redux 结合使用有两个优点:
- 开发人员总是会犯错误,很容易意外地改变 reducer 中的状态而不是克隆它。该错误会持续 "uncaught" 一段时间,然后在您最不期望的时候攻击您。如果你搞砸了,ImmutableJS 会很快给你一个错误。
- 性能:ImmutableJS 利用事物的不可变特性,能够使用数据结构和算法来支持像 add/remove/modify 这样的集合操作,比典型的 space 和时间效率更好 [= =19=] 当我们必须自己编写时,我们倾向于这样做。