使用ngrx / store更新存储的正确方法

时间:2016-10-25 20:44:23

标签: angular redux state ngrx

我正在学习ngrx / store我有一个组件调用服务从服务器获取一些数据,因为我重构它以使用ngrx / store,我不知道在哪里更新商店。< / p>

据我所知,我有两个选择:

  1. 从组件调用服务,获取数据,并使用dispatch更新为存储。
  2. 从组件调用服务,服务将使用dispatch更新存储状态。组件可以订阅状态的该部分(使用select),当服务获取数据并更新状态时,组件将通过商店订阅获得更新。
  3. 哪种方式(“最佳实践”)可行? (也许还有另一个为什么我应该这样做?)

1 个答案:

答案 0 :(得分:14)

你应该使用@ngrx / effects。

  1. 组件调度操作:LOGIN
  2. 效果捕获动作。
  3. 效果触发服务获取数据。
  4. 效果会返回包含数据的新操作。
  5. Reducer使用数据作为有效负载获取新操作并构建状态。
  6. 这是最好的做法。

    See my repo for examples of using effects

    Memroy Game (with effects)