对 api 请求使用 ngrx 效果但不将结果存储在商店中
use ngrx effect for api request but dont store result in store
我正在开发一个 Angular 项目,该项目正在使用 ngrx/store
。
我的一个组件需要后端的数据。所以流程通常是这样的:
- 调度
Action
- 调用
Effect
--> 调用后端
- 使用来自后端的数据更新
store
- 组件使用
selector
获取数据
现在我们的后端 returns 有大量数据(例如 100.000)条目。由于某些原因,我无法进行分页。
我目前正在考虑不要将 100.000 个条目保留在 store
中,因为数据未在应用程序的其他任何地方使用(违反了 SHARI 原则)。你认为这是个好主意吗:
- 调度
Action
- 调用
Effect
--> 调用后端
- 组件侦听
ApiCallSuccess
Action
并使用来自负载的数据。
我这边的好处是:我们总是使用 Effects
来调用后端(一致性)。
你有什么建议?我的替代方案是 component
只调用 API 并直接使用数据。
两种选择各有利弊 - 我认为这是您和您团队的选择。
你也可以看看@ngrx/component-store这是一个中间地带,非常适合与组件的生活方式绑定的状态。
我正在开发一个 Angular 项目,该项目正在使用 ngrx/store
。
我的一个组件需要后端的数据。所以流程通常是这样的:
- 调度
Action
- 调用
Effect
--> 调用后端 - 使用来自后端的数据更新
store
- 组件使用
selector
获取数据
现在我们的后端 returns 有大量数据(例如 100.000)条目。由于某些原因,我无法进行分页。
我目前正在考虑不要将 100.000 个条目保留在 store
中,因为数据未在应用程序的其他任何地方使用(违反了 SHARI 原则)。你认为这是个好主意吗:
- 调度
Action
- 调用
Effect
--> 调用后端 - 组件侦听
ApiCallSuccess
Action
并使用来自负载的数据。
我这边的好处是:我们总是使用 Effects
来调用后端(一致性)。
你有什么建议?我的替代方案是 component
只调用 API 并直接使用数据。
两种选择各有利弊 - 我认为这是您和您团队的选择。
你也可以看看@ngrx/component-store这是一个中间地带,非常适合与组件的生活方式绑定的状态。