使用ngrx/store更新store的正确方法
The right way of using ngrx/store to update store
我正在学习 ngrx/store 并且我有一个组件调用服务以从服务器获取一些数据,因为我重构它以使用 ngrx/store,我不知道在哪里更新商店。
据我所知,我有 2 个选择:
- 从组件中调用服务,获取数据,并使用
dispatch
更新存储。
- 从组件调用服务,服务将使用
dispatch
更新商店状态。组件可以订阅那部分状态(使用 select
),当服务获取数据并更新状态时,组件将通过商店订阅获取更新。
哪条路是正确的 ("Best Practice")? (也许还有另一个我应该这样做的原因?)
你应该使用@ngrx/effects。
- 组件发送一个动作:LOGIN
- 效果捕捉动作。
- 效果触发服务获取数据
- 使用数据执行 returns 新操作。
- Reducer 以数据作为有效负载获取新操作并构建状态。
这是最佳做法。
我正在学习 ngrx/store 并且我有一个组件调用服务以从服务器获取一些数据,因为我重构它以使用 ngrx/store,我不知道在哪里更新商店。
据我所知,我有 2 个选择:
- 从组件中调用服务,获取数据,并使用
dispatch
更新存储。 - 从组件调用服务,服务将使用
dispatch
更新商店状态。组件可以订阅那部分状态(使用select
),当服务获取数据并更新状态时,组件将通过商店订阅获取更新。
哪条路是正确的 ("Best Practice")? (也许还有另一个我应该这样做的原因?)
你应该使用@ngrx/effects。
- 组件发送一个动作:LOGIN
- 效果捕捉动作。
- 效果触发服务获取数据
- 使用数据执行 returns 新操作。
- Reducer 以数据作为有效负载获取新操作并构建状态。
这是最佳做法。