使用React的Immutable.js不变的帮手

问题描述:

我正在研究助焊剂应用程序,并且正在考虑采用immutable.js来维护状态。我看到这种反应为更新不可变对象提供了自己的帮助(http://facebook.github.io/react/docs/update.html),但无法分辨它与不可变自身的setIn和updateIn方法有什么不同(即,如果它们发生更改,我已经可以将对象与===进行比较与setIn)。有没有理由使用immutable.js的反应助手?它只是语法糖吗?使用React的Immutable.js不变的帮手

TL; DR是:从

var map = Immutable.fromJS({bar: 'baz'}); 
map2 = map.set('bar', 'foo'); 

React.addons.update

var map = Immutable.fromJS({bar: 'baz'}); 
map2 = React.addons.update(map, { 
     bar: {$set: 'foo'} 
    }); 

不同不与Immutable.js值工作;它works with plain JavaScript objects and arrays

​​

在Immutable.js的类型是使用性能和空间的好处special数据structures实施;显然,由React.addons.update消耗和生成的纯JavaScript对象不是。