将React的不可变助手与Immutable.js一起使用

 ociVyouzhangzh063_1fd2bf_633 发布于 2022-12-07 19:04

我正在研究一个flux应用程序,我正在考虑采用immutable.js来维护状态.我看到react提供了自己的帮助器来更新不可变对象(http://facebook.github.io/react/docs/update.html),但是无法告诉它与immutable自己的setIn和updateIn方法有什么不同(也就是说,我已经可以将对象与===进行比较,如果它们随setIn变化.是否有理由将react helper与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');

Michelle Til.. 8

React.addons.update不适用于Immutable.js值; 它适用于纯JavaScript对象和数组.

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中的类型是使用特殊的数据结构实现的,以提高性能和空间效益; 显然,React.addons.update消耗和生成的普通JavaScript对象不是.

1 个回答
  • React.addons.update不适用于Immutable.js值; 它适用于纯JavaScript对象和数组.

    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中的类型是使用特殊的数据结构实现的,以提高性能和空间效益; 显然,React.addons.update消耗和生成的普通JavaScript对象不是.

    2022-12-11 02:08 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有