问题标签 [ngrx]
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/store 获取单个项目
我编写了以下减速器来将状态项存储在我的 Angular 2 应用程序中。这些项目是金融工具(例如股票/货币)的报价。
我的减速器实现如下:
}
我设法让插入、更新和删除工作——尽管这并不容易。我发现 Redux 是一种范式转变,与我多年来的编码方式不同。
我的应用程序上有一个仪器组件/页面 - 它显示了一个特定仪器的所有可用信息,由 InstrumentId 指示,例如“EUR/USD”(存储在 payload.Instrument 属性中)。
我的问题是,我不确定如何有效地搜索特定乐器并将其从商店中抢走。不仅如此,如果商店中的仪器更新,我还希望更新我获取的仪器,因为它们经常通过服务器的 websocket 推送。所以我真的需要在商店中搜索特定仪器,并将其作为 Observable 返回,它将根据推送到商店的新数据继续更新视图组件。
我怎样才能做到这一点?
angular - ngrx/effects switchMap 不再在 Angular2 RC5 中工作
我在我的 Angular2 应用程序中使用 ngrx/effects,自从 RC5 发布以来,我遇到了错误。这是我的代码:
上面的代码在带有ngrx/effects 1.1.1的Angular2 RC4中运行良好。
但是当我将 Angular 升级到 RC5 时,我得到了错误:Unhandled Promise rejection: this.updates$.ofType(...).switchMap is not a function
然后我将ngrx/effects升级到最新版本2.0.0-beta.2(根据文档应该为新的RC5 NgModule定制)但得到了与上面完全相同的错误。是的,我在这一步中将whenAction()
功能更改为。ofType()
有任何想法吗?
angularjs - 如何在 Angular 2 应用程序中保存全局可见用户?
登录后我得到用户
我如何实现这个用户服务?* 我想获得一些用户数据而不需要新的后端调用?** 我知道https://github.com/ngrx/store,也许有人知道更好的解决方案?
javascript - 如何为 rc5 配置 angular-cli 项目?
尝试安装 angular-cli 以使用 angular 2 rc5,但我遇到了一些错误:
找不到名称“承诺”
我已经安装了“npm install -g angular-cli@webpack”,他似乎没有安装类型,所以 webstorm 不知道“承诺”。
我尝试过的没有成功:
1.我安装了'npm install typings --save',但没有任何变化。
2.在我启用的webstorm项目配置中:(没有帮助)
3.在 tsconfig 中,我将目标从 es5 更改为 es6,现在 webstorm 识别 promise/then/catch 但 typescript 抛出他不知道的错误,现在我在每个组件的每个类上都面临新错误:
这很奇怪,因为在 tsconfig.json 中:“experimentalDecorators”:true。即使是假的,也没有改变。
ngrx 安装错误和警告:
在另一个主题中,尝试安装 ngrx/core 时:'npm install @ngrx/core --save'
安装结束是:
安装时我收到相同的警告:'npm install @ngrx/store --save'。
我在导入数组的 app.module.ts 中添加了:'StoreModule.provideStore({EmptyReducer})'。在“ng serve”之后,我在控制台中收到以下警告:
我的项目中的一些代码(这是空项目):
app.module.ts:
tsconfig.json:
package.json:(我手动安装了'npm install typings --save')
非常感谢您的阅读。
angular - Angular2 RC5 WebPack ngRx 热模块更换
我以前使用过这里找到的方法让 HMR 与 RC4 一起使用 Webpack 时保持 ngRX 状态。
使用 RC5 和 ngModules,引导过程发生了变化,我正在努力了解如何调整以前的方法来解决这个问题。
谁能指出我正确的方向或建议另一种方法?
javascript - @ngrx/store with Angular 2:无法读取未定义的属性
我正在尝试使用 Angular 2 - RC4 学习 @ngrx/store。我有一个从我的组件调用的服务,我只是想在它发生变化时控制台记录一个车辆列表。
车辆
车辆减速机
main.ts
车辆服务
应用组件
但是当它运行时,我得到一个 TypeErrorTypeError: Cannot read property 'vehicles' of undefined
第一个 console.log 返回一个 Store 对象,但订阅似乎失败了。
知道我做错了什么吗?
ngrx - reducer 中的 @ngrx/store 和 switch 语句问题
我有以下两个@ngrx/store 减速器:
但是,由于某种原因,当我为第一个减速器(即)发出调度时,currentUserAccountReducer
它会更改第二个减速器(即authenticatedReducer
)的状态......
这是导致此问题的调度:
这是我在该imports
部分中初始化商店的方式:
有人可以提供建议吗?
编辑:问题是authenticated
结束了undefined
!
javascript - Angular 2、ngrx/store、RxJS 和树状数据
我一直在尝试找出一种方法,将 select 运算符与 rxjs 的其他运算符结合使用来查询树数据结构(在存储中标准化为平面列表),以保持 ChangeDetectionStrategy.OnPush 的引用完整性语义,但我的最佳尝试会导致当树的任何部分发生更改时重新渲染整个树。有没有人有任何想法?如果您认为以下接口代表存储中的数据:
我需要创建一个非规范化上述状态的选择器,以返回实现以下接口的对象图:
理想情况下,我希望图表的任何一部分仅在其子节点发生更改时才更新,而不是在任何节点更改时返回一个全新的图形。有谁知道如何使用 ngrx/store 和 rxjs 构建这样的选择器?
有关我尝试过的各种事情的更具体示例,请查看以下代码段:
angular - ngrx/store 如何创建依赖reducer
我对 redux 非常陌生,尤其是 ngrx/store。我找不到关于这个主题的例子,我希望你们能指出我正确的方向。我想要实现的是一个名为 freedownloads 的组件,它调度一个动作,该动作应该更新另一个名为 counter 的组件的状态。特别是布尔值可以下载。目前我有 2 个减速器。我应该使用 combineReducers 吗?你有什么例子吗?我正在使用最新版本的ngrx/store (2.1.2)
非常感谢你!
angular - 无法使 @ngrx/store 正常工作
我有这个工作的 Angular 2 应用程序。我正在尝试将 @ngrx/store 添加到应用程序,但似乎我无法使其工作。这是我必须要做的:
product.component.ts
产品.reducer.ts
产品.service.ts
我觉得我快到了,因为 {{products | async}} 显示结果。我只是没有得到 *ngFor 给我带来的错误:
原始异常:找不到类型为“object”的不同支持对象“[object Object]”。NgFor 仅支持绑定到 Iterables,例如 Arrays。
我的意思是我确实理解它的含义,但我不知道为什么会这样。我觉得我完全有 tutos 显示的内容......
我用过的链接:
- http://onehungrymind.com/build-better-angular-2-application-redux-ngrx/
- Angular2 + ngrx/store 用于处理失败的 HTTP 请求
- https://egghead.io/courses/building-a-time-machine-with-angular-2-and-rxjs
不幸的是,几乎所有东西都过时了(不是 RC5)。
更新:我只是意识到如果我这样做 {{products | 异步 | json}} 在我的 html 文件中,我得到了所有数据。所以它起作用了,我只是不明白为什么我会在 *ngFor 中出现这个错误。