问题标签 [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.
angular - 在商店中拉取 Ngrx 实体的问题
我一直在开发一个应用程序来学习 Angular Ngrx 商店和实体。该应用程序使用来自 ngrx/platform 的示例应用程序作为起点。代码和应用程序在 StackBlitz 上
我正在尝试使用 createSelector 过滤掉具有与所选任务的 id 匹配的 task_id 的 pomos。甚至无法做到这一点,我尝试使用基于 EntityAdapter 的 pomo reducer 将所有 pomos 加载到 state 中。那也行不通。我的所有操作都成功了,包括向商店添加了一个 pomo,但我无法加载它们。在这一点上,我只是想让它们全部加载,但最终目标是一个选择器,它根据它的 task_id 加载 pomos。我怀疑这个问题很可能是国家实际上是如何组成的,但我不知道该怎么做。就像我说的,将 Pomo 添加到商店的操作可以正常工作,但是在加载 pomo 时。它返回空。
这是我的减速器/index.ts
angular - 来自ngrx/entity的SelectAll没有选择任何东西
介绍
我在让我的选择器工作时遇到了一些麻烦。FakeApiService
尽管我可以看到已拨打电话,但我的组件并未随书籍更新。所以行动和效果是有效的。
我相信这个问题与我使用@ngrx/Entity
. 具体来说这个
和
我已经看过他们提供选择器功能的教程,getSelectors()
但这不是必需的。
我希望有人能发现我哪里出错了,如果有人对结构/设置有一些建议,我会全神贯注:)
这是我的设置。
版本
- 角度:6.0.0
- rxjs 6.1.0
- 打字稿2.7.2
- 网络包 4.6.0
- @ngrx/效果 5.2.0
- @ngrx/实体 5.2.0
- @ngrx/路由器商店 5.2.0
- @ngrx/原理图 5.2.0
- @ngrx/商店 5.2.0
- @ngrx/store-devtools 5.2.0
ngRx
功能/商店/动作/book.actions.ts
功能/商店/效果/book.effects.ts
功能/商店/reducers/book.reducer.ts
功能/存储/reducers/index.ts
功能/商店/选择器/book.selectors.ts
角
功能/功能.module.ts
功能/组件/book-view.component.ts
angular - 将 3 个相同类型的对象保存在一个特征存储中,并且完全分离。
我有三个服务,它们根据不同的操作返回相同类型的对象。我怎样才能以干净的分离来保存特征存储中的所有对象。
行动 1:LOAD_CANDIDATES
行动 2:LOAD_MATCHED_CANDIDATES
行动 3:LOAD_ASSIGNED_CANDIDATES
我确实对他们每个人都有成功和失败的影响。
我怎样才能在特征存储中同时拥有所有匹配和分配的候选对象,并通过明确的分离来指定相应的对象类型(即这些是匹配的,这些是分配的)
angular - (string|number)[] 和 string[]|number[] 之间的 typescript ngrx 类型不匹配
我正在尝试使用以下其他库将我的 Angular 应用程序升级到 5.2.10:ngrx 5.2.0 typescript: 2.6.2 tslint 5.10.0
并在角度编译期间遇到以下错误:
`
`
`
`
我正在使用@ngrx/entity 库从ngrx 的“module.d.ts”文件中定义的以下EntityState 接口派生我们的数据状态接口。
`
`
任何解决这些错误的指针?
javascript - 是否可以更改 ngrx/entities 中的 id?
是否有必要在 ngrx/entities 中有不会更改的 id?我想使用字符串属性path
作为 id。它是独一无二的。但它可以改变。在这种情况下我应该使用 uuid 作为 id 吗?
angular - 使用来自多个实体的数据创建 @ngrx 选择器(Angular)
我有基于以下模型的@ngrx 实体:
我将用户的配置文件存储在设置状态中,并将选定的过滤器(来自 UI)存储在产品状态中:
我的减速器的摘录是这样的:
然后,我创建了一个选择器,用于合并来自上述选择器的数据:
该解决方案运行良好,但每当将产品添加到购物篮时,我的整个产品列表都会重新初始化(可能是因为我正在使用地图重新分配产品)。随着产品列表的增长,这可能会产生性能问题。我想将更改检测限制为仅发生更改的产品。
我在 createSelector 中的 map / filter 实现是否正确?我怎样才能提高性能?
javascript - 如何在 Angular 2 中使用 httpclient get 方法并在列表中显示项目?
我正在尝试在 Angular 2 中使用httpclient get方法并在列表中显示项目,但我正在使用ngrx
with ngrxeffect
(用于 asyn 任务)。我做了一个减速器,动作。我也做effect
文件。现在我想调用服务并从服务中获取数据并将数据存储在存储中。
我试过这样
https://stackblitz.com/edit/angular-s5xdfv?file=src%2Fapp%2Fstore%2Flist.effect.ts
减速器
从'./list.action'导入*作为动作;
影响
任何更新
angular - 为什么 Ngrx 实体 ID 通常用作字符串?
我一直在寻找为 ngrx 实体设置样板的示例,并且很好奇为什么大多数人使用字符串类型 id 设置他们的模型。这很奇怪,因为对于 EntityState,选择的 id 然后存储为一个数字。在大多数情况下,我见过的例子都使用了这个,但我找不到一个合理的。
这样做有什么好处?我在想可能是为了简单的 JSON 编码,但这使得像递增索引和查找这样的正常操作很烦人。宁愿只在需要导出数据时进行编码。
这是官方仓库中示例的链接: https ://github.com/ngrx/platform/blob/master/docs/entity/adapter.md
angular - ngrx state-什么时候展平状态?
强烈建议扁平化 ngrx 商店的状态树,我在整个应用程序中都在努力这样做。我理解并同意这样做背后的原因——扁平状态树更易于管理、深度复制等。
但是,我遇到了一个场景,让我想知道设置状态树的最可维护的方式。我有一个功能,Crews
其中包含一个 Crew 中的许多用户。工作人员的一个实例可以有替代用户(例如,如果该工作人员中的某个人不可用)。Asub
简单地定义了原始用户 ID 和替换用户 ID。据我所知,有两种方法可以做到这一点。最直接的方法是使用非扁平结构——可能看起来像这样:
另一种选择是创建一个Subs
特征,其中的 subsCrew
将指向 subs 中的一个 id:
但这对我来说似乎有点矫枉过正——创建一个全新的功能,只是为了表示两个字符串 ID 值。任何关于哪个方向最可维护/最直接的想法,或者更好的方式来表示这一点?
angular - 在 NGRX 上的 ActionsSubject 订阅上使用操作的有效负载
我得到了旧的和坏的Property 'payload' does not exist on type 'Action
做这个动作订阅:
由于是创建操作,我需要有效负载来签出userId
最近创建的用户并导航到/users/userId
顺便说一句:我正在关注这个非常好的教程