将 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 分数中