jjzjj

ImmutableJS

全部标签

javascript - ImmutableJS - 更新列表中的值

我有一个这样的map(在ImmutableJS中):{arrayOfValues:[{one:{inside:'firstinarray'}},{one:{inside:'secondinarray'}}]}我想更新“arrayOfValues”数组中第二个条目中“inside”的值。我该怎么做?这就是我现在所拥有的,上面写着“UncaughtError:无效的keyPath”theMap.update('arrayOfValues',(list)=>{returnlist.setIn([1,'one','inside'],'updatedvalue');})我也直接试过了,没用:th

javascript - Redux + ImmutableJS - 如何垃圾收集太大的商店?

我将Redux与ImmutableJS结合使用。在我的SPA(相当复杂的管理系统)中,用户经常将大量数据加载到存储中(许多表有数千行)。在打开多个页面并且存储中有太多数据后,应用程序变得非常慢,因为ImmutableJS存储可能包含数百万个条目。我怎样才能从商店中“删除”一些东西,这样数据就不会拖慢应用程序的速度?我知道这会违背其主要原则,但您还能如何解决它?使用带有例如jQuery的通用网站,这将非常容易。每次页面刷新时,所有不必要的东西都会被垃圾收集。因此,一个页面2-3千个条目是可以的,但是当打开一个新页面时,reducer加载了新数据,但仍然引用旧数据。当然,我不想强​​迫用户

javascript - ImmutableJS - 从 map 中删除元素

我有一个具有这种结构的map:{1:{},2:{}}我想从中删除2:{}(当然-返回没有这个的新集合)。我该怎么做?我试过了,但出了点问题:theFormerMap.deleteIn([],2)//[]shouldmeanthatit'srightintherootofthemap,and2isthenameoftheobjectIwanttogetridof 最佳答案 只需使用delete方法和双引号中的属性:theFormerMap=theFormerMap.delete("2")

ios - React-Native + Redux + ImmutableJS 内存泄漏

我的React-Native应用程序出现奇怪的内存泄漏。这是一个不断增加的内存。我的状态被规范化,然后转换为不可变状态。有一个套接字处理程序可以更新状态中的现有对象。随着新消息更新状态,这会导致RAM缓慢增加。状态:conststate={entities:{2000:{1:{id:1,name:"Iamnormalized",coordinates:[{lat:0,lng:0}]},2:{id:2,name:"metoo",coordinates:[{lat:0,lng:0}]}},1337:{2:{id:2,name:"metoo",coordinates:[{lat:0,lng:

javascript - 根据属性值从 ImmutableJS 列表中删除对象

根据属性值从列表中删除对象的最简单方法是什么?我正在寻找MongoDB中的$pull等效项。我的列表看起来很简单,如下所示:[{a:'1',b:'1'},{a:'2',b:'2'}]我想从数组中删除属性a设置为“1”的对象。在MongoDB中,我会这样做:Model.update({_id:getCorrectParentObj},{$pull:{listIDeleteFrom:{a:'1'}}},(err,result)=>{});如何使用ImmutableJS获得相同的结果? 最佳答案 您可以简单地filter不可变列表:var

javascript - 根据属性值从 ImmutableJS 列表中删除对象

根据属性值从列表中删除对象的最简单方法是什么?我正在寻找MongoDB中的$pull等效项。我的列表看起来很简单,如下所示:[{a:'1',b:'1'},{a:'2',b:'2'}]我想从数组中删除属性a设置为“1”的对象。在MongoDB中,我会这样做:Model.update({_id:getCorrectParentObj},{$pull:{listIDeleteFrom:{a:'1'}}},(err,result)=>{});如何使用ImmutableJS获得相同的结果? 最佳答案 您可以简单地filter不可变列表:var

javascript - ImmutableJS Map() 和 fromJS() 有什么区别?

vara={address:{postcode:5085}}varb=Immutable.fromJS(a)varc=b.setIn(['address','suburb'],'broadview').toJS();//noerrorconsole.log(c);vard=Immutable.Map(a);vare=d.setIn(['address','suburb'],'broadview').toJS();//errorinvalidkeyPath(…)谁能解释一下区别。谢谢, 最佳答案 在这个例子中,vara={addres

javascript - 如何使用 ImmutableJS 更新 List 中的元素?

这是官方文档说的updateIn(keyPath:Array,updater:(value:any)=>any):ListupdateIn(keyPath:Array,notSetValue:any,updater:(value:any)=>any):ListupdateIn(keyPath:Iterable,updater:(value:any)=>any):ListupdateIn(keyPath:Iterable,notSetValue:any,updater:(value:any)=>any):List普通的Web开发人员(不是函数式程序员)无法理解这一点!我的案例非常简单(对