【问题标题】:Using React's immutable helper with Immutable.js在 Immutable.js 中使用 React 的不可变助手
【发布时间】:2015-02-01 20:48:11
【问题描述】:

我正在开发助焊剂应用程序,并正在考虑采用immutable.js 来维护状态。我看到 react 提供了它自己的帮助器来更新不可变对象(http://facebook.github.io/react/docs/update.html),但不知道它与不可变自己的 setIn 和 updateIn 方法有什么不同(即,我已经可以用 === 比较对象来判断它们随 setIn 变化)。是否有理由将 react 助手与 immutable.js 一起使用?只是语法糖吗?

TL;DR 是:

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

不同于

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

【问题讨论】:

    标签: javascript reactjs reactjs-flux


    【解决方案1】:

    React.addons.update 不适用于 Immutable.js 值;它works with plain JavaScript objects and arrays

    var map = { bar: 'baz' };
    var map2 = React.addons.update(map, {
      bar: {$set: 'foo'}
    });
    console.log(map2); // A plain JS object of value `{bar: 'foo'}`
    

    Immutable.js 中的类型使用special 数据structures 来实现性能和空间优势;显然,React.addons.update 使用和生成的普通 JavaScript 对象不是。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-19
      • 2016-10-05
      • 2011-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-13
      相关资源
      最近更新 更多