immutable.js

    2热度

    1回答

    我在玩Immutable.js。我遇到了这个问题,我无法找到一个很好的解决方案:我有两个列表A和B,我想使用自定义的predicate函数从列表A中筛选出一些元素,并将它们添加到列表B中两者都是不变的。 这里显而易见的问题是A.filter(predicate)的返回值是一个新的更新实例,并且删除的元素会丢失。我可以首先添加这些过滤元素: B = B.concat(A.filterNot(pred

    24热度

    3回答

    我拿了一个TodoList示例来反映我的问题,但显然我的真实世界的代码更复杂。 我有一些像这样的伪代码。 var Todo = React.createClass({ mixins: [PureRenderMixin], ............ } var TodosContainer = React.createClass({ mixins: [PureRe

    11热度

    6回答

    我正在使用immutable.js与我的助焊剂应用程序。这是非常有用的,并提高性能。但是让我难过的是,我不能使用lodash。 Lodash提供了很多有用功能的API,所以我想知道是否有办法让他们一起为我工作?

    26热度

    2回答

    所以,我有一个列表: let a = Immutable.List([1]) 和B组: let b = Immutable.List([2, 3]) 我想从他们那里得到列表union === List([1, 2, 3])。 我尝试merge他们的拳头: let union = a.merge(b); // List([2, 3]) 好像merge方法与指标进行操作,而不是值,以便覆盖

    2热度

    1回答

    使用Facebook Immutable。我如何搜索不可变映射的键值。在下面的结构中。 { issue: 328, version: 1, filename: '328-1', title: 'The Lorem ipsum dolor cover', date: { year: 2015, month: 8,

    1热度

    1回答

    我使用ImmutableJS OrderedMap将ImmutableJS记录存储在React应用程序中。我想知道处理共享相同值的更新的惯用方式是不会失去对Record的引用。例如,假设下面的代码是什么,是更新在关键1 fooBars对象,如果记录在关键1更新保持完全相同的值在关键1. import Immutable from 'immutable'; let fooBars = Immut

    5热度

    1回答

    我无法弄清楚如何使用Immutable.js游标对React组件树的分支 进行短路渲染。 看看下面的例子: import React from 'react'; import Immutable from 'immutable'; import Cursor from 'immutable/contrib/cursor'; let data = Immutable.fromJS({

    0热度

    1回答

    我试图操纵通过添加和插入到列表中的条目不可变的(3.6.4)光标: var data = Immutable.fromJS({a: {b: [0, 1, 2]}}); var cursor = Cursor.from(data, ['a', 'b'], function(newData){ data = newData; }); cursor = cursor.push(3);

    3热度

    2回答

    我一直在慢慢地将我的React + Flux应用程序转换为使用Immutable.js数据结构。我使用Flux的原始,香草FB实现。 我遇到的一个问题是将组件状态与从Flux商店收到的状态混合。 我保持商店中所有重要的业务逻辑状态。但是我的规则是一直保持与UI相关的状态。例如,如果下拉菜单打开或关闭,商店就不需要关心它们了,对吗? 问题出现在对同一组件的商店中的状态进行更改的组件中采取操作时。假设

    4热度

    1回答

    我想在reactjs和flux的项目中使用Immutable。 比方说,我有代码 console.log (Immutable.Map({1: 2}).toString()) 我browserify此脚本,并从浏览器(谷歌浏览器)运行.js文件,该 结果是: "Map { "1": 2 }" 通知密钥1现在是一个字符串,而不是一个数字。 如果我直接在现场的控制台尝试相同的代码http://