immutable.js相关内容
我正在尝试为我的react-typescript应用程序实现Redux存储.我的减速器有问题.在本机react-apps中,我执行了以下操作 reminders = [...state, reminder(action)]; return reminders; 散布运算符可以完美运行.并将新对象不变地添加到数组中. 使用打字稿不会发生这种情况.(获取一个空对象而不是一个数组
..
我有一个包含start和end日期字段的工作历史对象列表.我需要按start排序,然后按end排序.如果在我使用背靠背sort()函数时工作历史对象之间的日期重叠,则该订单可能已关闭.我需要一种通过多个键对ImmutableJS列表进行排序的方法,其中仅当第一个键值相等时才处理第二个排序键.我本以为ImmutableJS将有一种更简单的方式来处理这种类型的排序.这是我想出的,但这对我来说太可怕了(
..
以下是我的数据结构 [ { "id": 1, "title": "Welcome to my playground", "description": "This is so fun to play with, you will like it
..
我正在尝试编写一个函数来更新我拥有的不可变对象.我正在使用return myitem.updateIn,因此我可以在已经运行的此更新的基础上链接另一个更新.到目前为止,我有这个: memo.updateIn(['Topics', 'filters'], function(topic) { topic.map(function(singleTopic) { singleTopic.
..
我有一个带有地图和列表的深层嵌套的不可变结构.我不确定更新结构(ID为356的节点)中的嵌套地图的最佳方法. 我创建了一个搜索列表的函数,找到了目标地图,并对其进行了更新.但是结构保持完整!!知道我在做什么错吗? https://jsbin.com/sadoni/1/edit?js,console var structure = Immutable.fromJS(
..
所以我试图将ImmutableJs导入我的angular 2项目中,我正在使用这种systemjs配置 (function(global) { // map tells the System loader where to look for things var map = { 'src/client': 'src/client', // 'd
..
我正在构建一个应用程序,其中有大量页面,每个页面都需要加载程序图标来显示数据何时来自服务器,但尚未到达,但如果根本没有数据,则不会显示任何内容.我可以不用使用高阶组件(HOC)就能毫无问题地显示出来,但是在每个组件中这样做都是很繁琐的.我希望装入程序代码可重用,以便我可以在需要的每个组件中使用它.但是我正面临这个问题. 如果有数据,就没有问题.如果根本没有数据,那么 加载程序会继续加载,加载
..
我想知道这是否是将immutable.js与redux和reselect(也是redux-saga)结合使用的正确方法.具体来说,我想知道toJS()和fromJS()的用途以及在哪里使用它们. 我的想法是: 在将数据发送到传奇时使用toJS(). 我不要在精简器中使用 fromJS(),因为我认为无论如何都可以通过将fromJS()用于initialState来完成.还是我错了? 我在
..
请考虑以下示例: const stickers = new OrderedMap().set(1, {hero: "batman", name: "Bruce"}); stickers.getIn([1]); //=> { hero: 'batman', name: 'Bruce' } stickers.getIn([1, "hero"]); //=> undefined 为什
..
如何在OrderedMap的末尾添加项目? 我尝试了 this.boxes = this.boxes.setIn(data); 感谢您的帮助 解决方案 一种可行的方法是使用var boxes = Immutable.OrderedMap({ box1: { id:1 }, box2: { id:2 } }); var data = Immutable.fromJS(
..
我一直在尝试解决此问题,但是可能有些Immutable.js没有被我发现.我希望有人能帮助我理解. 我有这样的测试: import {List, Map} from 'immutable'; import {expect} from 'chai'; import {setInitial, addAtListOfMembers, removeAtList
..
假设我有以下内容: var allFoods = Immutable.List(); var frenchFood = Immutable.List([ { 'type': 'french fries', 'price': 3 }, { 'type': 'petit gateau', 'price': 40 }, { 'type': 'c
..
在我的减速器中,我通过以下方式设置初始状态: const initialState = fromJS({ results: [], }); 但是,如果我尝试打印结果, initialState.get('results') 我得到了一个不可变地图. 另一方面,如果在我的reducer中(侦听一个动作),我通过 设置数组 ... case LOAD_SUCCESS
..
在使用React.js时,我一直在寻找Immutable.js的动机.据我了解,React.js应该保证属性的不变性.但是,我可以在此演示中更改视图属性: var Hello = React.createClass({ render: function() { var item = { prop: 128 }; return
..
我的问题:为什么不更新处于不可变状态(映射)的数组中对象的属性不会导致Redux更新我的组件? 我正在尝试创建一个将文件上传到服务器的小部件,并且我的初始状态(从我的UploaderReducer内部,您将在下面看到)的对象看起来像这样: let initState = Map({ files: List(), displayMode: 'grid', currentReq
..
我正在使用 Facebook的Immutable.js 来加快我的React应用程序以利用 PureRender mixin .我的数据结构之一是Map(),该映射中的键之一的值是List().我想知道的是,不知道要从List()中删除的项目的索引,什么是删除它的最佳方法?到目前为止,我已经提出了以下内容.这是最好的(最有效的)方法吗? // this.graphs is a Ma
..
我已经使用React.js进行了几个项目.他们中的一些人使用了Flux,一些人使用Redux,而另一些人只是使用Context的普通React应用程序. 我真的很喜欢Redux如何使用功能模式.但是,开发人员很可能无意间改变了状态.在寻找解决方案时,基本上只有一个答案-Immutable.js.老实说,我讨厌这个图书馆.它完全改变了您使用JavaScript的方式.而且,它必须在整个应用程序
..
基于属性值从列表中删除对象的最简单方法是什么? 我正在寻找与MongoDB中的$ pull等效的东西. 我的列表看起来很简单: [{a: '1' , b: '1'},{a: '2' , b: '2'}] 我想从数组中删除属性 a 设置为"1"的对象.在MongoDB中,我会这样: Model.update({_id: getCorrectParentObj},{ $pu
..
我在Map对象中有一个不可变的列表对象,如下所示: let initialState = Immutable.fromJS({}); state = initialState; state = state.set("myList", Immutable.List()); 如何将值附加到"myList",从而更新state? 解决方案 您可以使用const initialState
..
如何使用ImmutableJS实现以下目标: myMap.get(key).push(newData); 解决方案 您可以执行以下操作:(请参阅此 JSBin ) const myMap = Immutable.fromJS({ nested: { someKey: ['hello', 'world'], }, }); const myNewMap = myM
..