问题标签 [ngrx-entity]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
7415 浏览

angular - 如何使用ngrx-entity更新实体子集?

我正在使用对远程后端的 HTTP 补丁请求更新一组实体。来自后端的响应仅包括更新的实体(即,并非所有实体)。

我使用实体状态适配器设置了我的减速器并用于updateMany更新我的实体:

虽然这会更新收到更新的实体,但它会删除后端未返回的所有其他实体。

有没有办法告诉 ngrx 只更新包含在action.payload?

0 投票
3 回答
9596 浏览

javascript - 如何更新或删除 ngrx 实体中的嵌套对象?

如何更新或删除ngrx实体中的嵌套对象例如我想从(charter.entities.scopes.data)中删除第一个具有19个id的元素,如我的ngrx商店中存储的json对象中所示

减速机

我可以使用这个 reducer 更新和修改 nestad 对象,但问题是 1- 它有点复杂,并且还在编译时在终端中显示error TS2339: Property 'map' does not exist on type 'Scope'.Argument of type '{ id: string; projectName: string; projectStatus: string; projectCode: string; projectUniqueCode:...' is not assignable to parameter of type 'Update<ProjectsCharter>'.

0 投票
1 回答
477 浏览

angular - How to select single item/entity, ngrx?

I have selector to get all posts, actually all entities, now I want to get single post/entity. Should I filter the posts I get from 'getAllPosts' selector or create another one and how to do it ?

Here are my selectors:

#xD;

As you see I have getSelectedPostId and getSelectedPost selectors but I'm not sure how to use it, I tried to follow some tutorials but nothing helps..

0 投票
2 回答
338 浏览

ngrx-store - 如何控制 ngrx-store 选择器的评估?

我有一个选择器:

我知道选择器的任何输入发生变化时都会对其进行评估。

在我的用例中,我需要通过第三个选择器“controlSelector”来控制“mySelector”,方式如下:

  • 如果“controlSelector”为假,“mySelector”即使在“selectorA”和/或“selectorB”发生变化的情况下也不会评估新值,并返回记忆值

  • 如果“controlSelector”为真,“mySelector”行为正常。

有什么建议么?

0 投票
0 回答
240 浏览

angular - 使用 angular-redux 规范化/反规范化状态

我已经用angular-redux开始了一个新项目,我真的很喜欢这个设置,一切运行良好。然而,复杂性很快就会增加,我担心存储状态会变得太深,数组中的数组 - 你们知道这个练习。

最好的解决方案似乎是规范化状态(ngrx/实体功能),但是我找不到使用 angular-redux 的解决方案,有推荐的方法吗?

0 投票
4 回答
13513 浏览

angular - 如何使用 @ngrx/entity 通过 id 选择单个对象

使用 @ngrx/entity 我想通过单个 id 选择实体或通过实体映射中的 id 数组选择实体数组。

我不希望在实体集合获得新元素或实体项更改时触发组件内的选择订阅,我根本没有选择。

当我使用 selectEntities 选择器然后从结果中选择 ID 时,这显然发生在我身上。

那么如何从实体集合中按 id 选择 1 或 n 项?

0 投票
1 回答
1165 浏览

javascript - 在 NgRx 应用程序中对对象使用 Array.reduce 函数

在 NgRx Angular 5 项目中,有一个我不太了解的 reduce 函数的使用。我会很感激一些帮助

基本上,代码会迭代一个对象数组,该数组如下所示:

在我的 NgRx 减速器中,有以下代码块:

我正在使用的状态如下所示:

我们在这里使用 reduce 函数将原始源(对象数组)转换为实体(键是与todo对象关联的 id)。我理解我们使用这个函数的原因,但我不明白它的内部代码:

预先感谢您帮助我阐明这一点。

0 投票
1 回答
288 浏览

ngrx - 如何正确合并我的展示组件的状态片段(ngrx/store)?

我仍在尝试学习 ngrx - 商店已设置好,一切似乎都运行良好。我使用的数据库是 SQL,所以基本上我是“克隆”表并将它们加载到存储中,但在选择员工时最终加入状态时遇到问题。

员工实体看起来像这样:

现在在我的组件中,我想让特定员工显示如下:

我尝试的是创建一个合并这两个实体的选择器:

如果我不使用 ngrx-store-freeze,这似乎确实有效 - 所以因为我不知道我是否正确创建了选择器或者 ngrx-store-freeze 是否有错误,所以我在问这个问题。

当我这样做时,我真的在改变状态吗?

如果是,我如何从我的商店中选择具有他拥有的所有关系数据的特定员工?

我正在做的事情感觉不太对劲。在我的实际应用程序中,员工有大约 8 个我需要加入的关系数据字段......

编辑:我忘了包括错误 ngrx-store-freeze 抛出:

0 投票
1 回答
1754 浏览

angular - 选择由 NgRx Store 中的多个实体组成的切片

我使用 NgRx Entities 为由 Log 实体组成的“”reducer 创建状态logsEntityState<Log>。然后我想从我的 Angular 组件订阅几个 Log 实体。如果它只有一个日志,我会使用:

如果多个实体中的一个已更改,我如何选择多个实体并确保仅触发一次订阅?

0 投票
0 回答
58 浏览

angular - 为什么 ngRx 平台/效果会触发未调度的操作?

我很难找出事件是从哪里分派的。但我注意到GET_USER_SUCCESS只有当您在初始加载时编辑已经从服务器获取的用户时才会触发。

效果.ts:

在我的 reducer.ts 中: