immutable.js相关内容

传播运营商给打字稿问题

我正在尝试为我的react-typescript应用程序实现Redux存储.我的减速器有问题.在本机react-apps中,我执行了以下操作 reminders = [...state, reminder(action)]; return reminders; 散布运算符可以完美运行.并将新对象不变地添加到数组中. 使用打字稿不会发生这种情况.(获取一个空对象而不是一个数组 ..
发布时间:2020-11-27 04:50:12 其他开发

如何在多个键上对ImmutableJS List对象排序?

我有一个包含start和end日期字段的工作历史对象列表.我需要按start排序,然后按end排序.如果在我使用背靠背sort()函数时工作历史对象之间的日期重叠,则该订单可能已关闭.我需要一种通过多个键对ImmutableJS列表进行排序的方法,其中仅当第一个键值相等时才处理第二个排序键.我本以为ImmutableJS将有一种更简单的方式来处理这种类型的排序.这是我想出的,但这对我来说太可怕了( ..
发布时间:2020-11-27 04:50:08 前端开发

Immutable.js结构(更新嵌套地图)?

我有一个带有地图和列表的深层嵌套的不可变结构.我不确定更新结构(ID为356的节点)中的嵌套地图的最佳方法. 我创建了一个搜索列表的函数,找到了目标地图,并对其进行了更新.但是结构保持完整!!知道我在做什么错吗? https://jsbin.com/sadoni/1/edit?js,console var structure = Immutable.fromJS( ..
发布时间:2020-11-27 04:48:02 其他开发

使用HOC加载程序时的重新渲染问题

我正在构建一个应用程序,其中有大量页面,每个页面都需要加载程序图标来显示数据何时来自服务器,但尚未到达,但如果根本没有数据,则不会显示任何内容.我可以不用使用高阶组件(HOC)就能毫无问题地显示出来,但是在每个组件中这样做都是很繁琐的.我希望装入程序代码可重用,以便我可以在需要的每个组件中使用它.但是我正面临这个问题. 如果有数据,就没有问题.如果根本没有数据,那么 加载程序会继续加载,加载 ..

在Redux上使用Immutablejs(toJS和fromJS)的正确方法

我想知道这是否是将immutable.js与redux和reselect(也是redux-saga)结合使用的正确方法.具体来说,我想知道toJS()和fromJS()的用途以及在哪里使用它们. 我的想法是: 在将数据发送到传奇时使用toJS(). 我不要在精简器中使用 fromJS(),因为我认为无论如何都可以通过将fromJS()用于initialState来完成.还是我错了? 我在 ..
发布时间:2020-11-27 04:47:52 前端开发

使用Immutable.js在OrderedMap中添加项目

如何在OrderedMap的末尾添加项目? 我尝试了 this.boxes = this.boxes.setIn(data); 感谢您的帮助 解决方案 一种可行的方法是使用var boxes = Immutable.OrderedMap({ box1: { id:1 }, box2: { id:2 } }); var data = Immutable.fromJS( ..
发布时间:2020-11-27 04:46:47 其他开发

如何将属性设置为初始状态的数组?

在我的减速器中,我通过以下方式设置初始状态: const initialState = fromJS({ results: [], }); 但是,如果我尝试打印结果, initialState.get('results') 我得到了一个不可变地图. 另一方面,如果在我的reducer中(侦听一个动作),我通过 设置数组 ... case LOAD_SUCCESS ..
发布时间:2020-11-27 04:46:38 其他开发

当深度不可变状态属性更新时,Redux不更新组件

我的问题:为什么不更新处于不可变状态(映射)的数组中对象的属性不会导致Redux更新我的组件? 我正在尝试创建一个将文件上传到服务器的小部件,并且我的初始状态(从我的UploaderReducer内部,您将在下面看到)的对象看起来像这样: let initState = Map({ files: List(), displayMode: 'grid', currentReq ..
发布时间:2020-11-27 04:46:31 前端开发

从Immutable.js中的Map内的列表中删除元素的最佳方法

我正在使用 Facebook的Immutable.js 来加快我的React应用程序以利用 PureRender mixin .我的数据结构之一是Map(),该映射中的键之一的值是List().我想知道的是,不知道要从List()中删除的项目的索引,什么是删除它的最佳方法?到目前为止,我已经提出了以下内容.这是最好的(最有效的)方法吗? // this.graphs is a Ma ..
发布时间:2020-11-27 04:46:28 前端开发

TypeScript的`readonly`可以完全替代Immutable.js吗?

我已经使用React.js进行了几个项目.他们中的一些人使用了Flux,一些人使用Redux,而另一些人只是使用Context的普通React应用程序. 我真的很喜欢Redux如何使用功能模式.但是,开发人员很可能无意间改变了状态.在寻找解决方案时,基本上只有一个答案-Immutable.js.老实说,我讨厌这个图书馆.它完全改变了您使用JavaScript的方式.而且,它必须在整个应用程序 ..
发布时间:2020-11-27 04:46:24 其他开发

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

基于属性值从列表中删除对象的最简单方法是什么? 我正在寻找与MongoDB中的$ pull等效的东西. 我的列表看起来很简单: [{a: '1' , b: '1'},{a: '2' , b: '2'}] 我想从数组中删除属性 a 设置为"1"的对象.在MongoDB中,我会这样: Model.update({_id: getCorrectParentObj},{ $pu ..
发布时间:2020-11-27 04:46:21 前端开发

将值附加到列表

我在Map对象中有一个不可变的列表对象,如下所示: let initialState = Immutable.fromJS({}); state = initialState; state = state.set("myList", Immutable.List()); 如何将值附加到"myList",从而更新state? 解决方案 您可以使用const initialState ..
发布时间:2020-11-27 04:45:19 其他开发