将 ngrx/Store 集成到现有的 Angular 项目中

Posted

技术标签:

【中文标题】将 ngrx/Store 集成到现有的 Angular 项目中【英文标题】:Integrating ngrx/Store to an existing Angular project 【发布时间】:2019-11-20 03:00:39 【问题描述】:

我有一个 Angular 7 项目,目前有很多组件可以与 API 通信并从中更新数据。 使用 setTimeout 不断刷新,因此它非常忙于从 API 刷新数据的所有组件。

因此,我正在考虑将 ngrx/Store 添加到项目中。

ngrx/Store 是此类问题的解决方案还是我应该寻找其他解决方案?

【问题讨论】:

我不知道 rxjs/store,ngrx/store 是你要找的吗?无论如何,如果不断刷新数据,您应该考虑通过 websockets 与您的 api 对话 我认为你在谈论 NgRx/Store。如果是这种情况,请考虑阅读一些关于在哪里使用 NgRx 以及您可以从中受益的文章。如果您的应用程序因每次 X 次请求信息而变得忙碌,NgRx 将为您集中它并为​​您的组件提供更好的方式来查询信息,但可能无法解决您的“大量并行请求”。也许你真正需要的是一个 websocket。好消息是社区中有很大一部分人认为 websocket 非常适合与 NgRx 一起使用。 对不起...我不是ngrx /store .. 如果您的组件之间存在复杂的交互,请使用 ngrx/store。数据多处修改等。查看this文章。 【参考方案1】:

为了让您轻松。我会说是的,因为 ngrx 提供 API 来将应用程序分解成更小的部分。

如果您有多个功能,您将拥有 1 个主存储,并且对于每个功能,您将有功能存储连接到主存储。因此,您可以轻松地将所有内容管理到特征分离问题中。

另一件事是ngrx提供效果中间件允许用户使用API​​调用等副作用,因此在使用API​​时您将拥有完全独立的代码

我建议您阅读那里的小演示 ​​here,了解他们创建的每个功能 effects, actions, reducers, selector, services.

【讨论】:

以上是关于将 ngrx/Store 集成到现有的 Angular 项目中的主要内容,如果未能解决你的问题,请参考以下文章

将 React Native 代码集成到现有的 android 项目中

如何将 midi 导出集成到现有的 lilypond 分数中

将 ResKit 集成到现有的 Core Data 应用程序中

将 grails 集成到现有的 Spring 应用程序中?

将聊天模块集成到现有的 ruby​​ 应用程序

如何将人行横道集成到现有的离子目标c项目中