如何处理不同减速器中的嵌套状态?

时间:2019-09-23 06:35:46

标签: angular ngrx

我有一个auth减少程序,可以处理以下操作:登录注册注销 UserLoaded 。我的AuthState包含当前登录的用户。用户模型具有设备属性(Devices [])。现在,我有一个操作来激活设备,该操作会触发一个效果(ActivateDevice),该效果又会触发设备阵列中的状态更改。现在,我不确定与设备有关的所有与NGRX相关的代码(ActivateDevice操作,Device Activated reducer函数)的放置位置。我认为这段代码并不真正适合Auth功能。

那么我应该只将reducer放到authReducer上,还是将ActivateDevice-Action放到Auth Actions上,还是要创建不同的文件(例如device.reducer.ts / device.actions.ts)? 如果您创建了另一个异径管。那么如何从该reducer处理AuthState?

1 个答案:

答案 0 :(得分:0)

如果它们是两个单独的实体,我建议将它们分成多个减速器。我还不足以说这是解决问题的方法,因为在某些情况下,将实体“归类”在单个化简器中会更容易。

  

然后如何从该化简器处理AuthState

不能。还原器仅负责其自己的状态,而不能从另一个还原器访问/修改状态。