问题标签 [ngrx-store-4.0]

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 投票
4 回答
4688 浏览

ngrx - 在 @ngrx/store 4.0 中提供 root reducer

在 @ngrx/store 2.0 中,我们可以将根 reducer 作为一个函数提供,然后我们在应用程序中拆分我们的逻辑。在我更新到@ngrx/store 4.0 之后,我不能再使用这个功能了,我可以看到减速器需要是一个减速器的映射,它将在状态的相同键下创建对象。有没有办法在@ngrx/store 4.0 中使用旧的行为?自己的方式。此外,应用程序被拆分为多个延迟加载的路由,这些路由在某些情况下会重用来自另一个功能的数据。

我需要reducers成为一个获取完整状态并将其分派给正确减速器的函数,有没有办法实现这种行为?

0 投票
2 回答
10252 浏览

angular - ngrx 商店 4 选择不工作

我整天都在努力让我的 Angular 应用程序与 ngrx/store 4 一起工作。经过很多不成功的小时后,我决定创建一个新的绝对最小的应用程序来检查我是否还有其他问题。但是最小的应用程序根本不起作用:(

在我可以看到的 Chrome Redux devtools 中,商店已正确更新。但是UI没有更新。app.component.ts ( this.age$.subscribe(console.log)) 中的日志语句也永远不会执行。我真的不知道我错过了什么。

这是相关的代码。

包.json

app.module.ts

状态.ts

动作.ts

减速器.ts

app.component.ts

app.component.html

0 投票
1 回答
433 浏览

angular - angular 4.0.2,ngrx/store,reducers

在 4.0.x 版本的 ngrx git 存储库中的示例应用程序的帮助下,我使用 ngrx/store 4.0.2 创建了一个应用程序。我用来运行这部分应用程序的其他模块。@angular/cli:1.3.0 节点:v8.1.3 npm:5.3.0。我有其他模块遵循相同的模式,每个人都表现出同样的问题。请帮我纠正这个问题。

我调用 api 的效果函数是 .

我的减速器是 users.reducer.ts

从商店中选择 getUsers 时,我收到此错误

0 投票
1 回答
636 浏览

angular - ngrx/store 4:从商店中选择时出现意外的子状态

我有几个分店。让我们说Sub1,并Sub2使用以下状态和减速器(我的问题对我的问题不感兴趣......我猜):

子1:

子2:

然后我将这两个子状态合并为一个ActionReducerMap<ApplicationState>

并将其“注册”到商店:

现在,在 Angular 组件中,我想选择Sub1商店并获取sub1value字符串。所以我做...

在日志语句中,我希望得到以下对象(Sub1State 对象):

但我真正得到的是这个对象:

这是否按预期工作?如果是,我将如何使用接口 Sub1State?因为sub1不是接口的一部分。

state.sub1value而且很好奇的是,在调用明显错误的内容时,我没有收到任何错误(编译器错误和运行时错误),因为它必须是state.sub1.sub1value. 我理解没有运行时错误,它只是未定义。但在我看来,TypeScript 编译器应该在这里抛出一个错误。

我真的很困惑:/

编辑

这是我期望它如何工作的示例:https ://stackblitz.com/edit/angular-w34kua?file=app%2Fapp.component.ts

0 投票
2 回答
449 浏览

ngrx-store - 无法初始化 ngrx (v. 4.x) 存储的状态

我目前正在研究使用 ngrx 商店(v. 4.0.3)进行状态管理。这似乎是一个伟大的项目。

在尝试初始化商店状态时,我遇到了一些障碍。该文档使它看起来相当简单,但我无法看到我哪里出错了。

以下是相关的代码片段:

在 app.state.ts

在 search-text.reducer.ts

在 app.module.ts

在某些组件中

因此,当应用程序加载时,我希望看到以下记录到控制台:

但我看到

稍后,一旦我开始输入触发 UpdateSearchTextAction 的输入,控制台确实会记录正确的值。所以看起来我已经正确设置了商店。

我可能缺少一些真正简单的东西。任何人都可以提供一些建议吗?

0 投票
1 回答
295 浏览

ngrx - ngrx 平台 - 如何安装整个捆绑包

我对ngrx平台的mono repo有点困惑。如何安装整个集合?是否有一个 npm install 命令来安装它,还是我必须单独安装每个(商店,效果,..)?

0 投票
1 回答
1267 浏览

angular - ngRx/store Observable 值未显示在 Angular 模板中

我正在使用ngRx文档中的一组非常人为的示例来尝试开始使用我们的 Angular 应用程序的 redux 模型。下面的代码有效——所有动作都会触发并正确更新存储。我可以在 redux 开发工具和商店记录器中看到它们。

但是,我无法在模板中显示任何内容。它只是空白。我不确定它是否与状态树的三层有关,如下所示:

我尝试example-app使用ngRx 来跟踪 ngRx reselect,但也许我在滥用这些选择器?我还能错过什么?

app.component.html

app.module.ts

应用商店.ts

爷爷.module.ts

爷爷.store.ts

爷爷减速器变种ts

爷爷.component.ts

0 投票
1 回答
1514 浏览

ngrx - 在 ngrx4 中嵌套 StoreModule.forFeature() 减速器

鉴于 ngrx4 中的以下内容有效:

...为什么以下不。(在 Devtool 中只看到“书记员”)

谢谢

0 投票
1 回答
8446 浏览

angular - 使用 ngrx 商店时如何在 Angular 2 中导航

我将ngrx store (4.x) 与Angular 4 一起使用。我使用效果在后端进行CRUD 操作,如下面的示例,它在后端API 上添加了一个Task。

影响:

任务编辑组件:

问题:在我的组件中,我需要导航到不同的页面,但我现在很难将这个逻辑放在哪里?

特别是当我考虑以下场景时,TaskEditComponent 被不同的组件“调用”:

应该导航回TaskListComponent:

OverviewComponent->TaskListComponent->TaskEditComponent 返回列表

应该导航回OverviewComponent:

OverviewComponent->TaskEditComponent

0 投票
0 回答
411 浏览

angular - ngrx/store 无法解析函数(状态、动作)的所有参数

我目前正在尝试在我的应用程序中升级@ngrx/store,但出现错误“无法解析函数(状态、操作)的所有参数”

我的代码可以在这里找到。

它是使用 Visual Studio 中的新 Angular 模板创建的 Visual Studio .Net Angular 应用程序。在升级此应用程序之前,我确实使用以下版本:“@ngrx/core”:“1.2.0”、“@ngrx/effects”:“2.0.0”、“@ngrx/store”:“2.2. 1"

因此,将其升级到最新版本的过程破坏了应用程序。有什么想法我需要做些什么来解决这个问题?