angular - 如何处理不同减速器中的嵌套状态?
问题描述
我有一个 auth reducer 可以处理以下操作:Login、Register、Logout、UserLoaded。我的 AuthState 包含当前登录的用户。用户模型有一个设备属性 (Devices[])。现在我有一个动作来激活一个设备,它触发一个效果(ActivateDevice),进而触发设备数组中的状态变化。现在我不确定在哪里放置与设备有关的所有 NGRX 相关代码(ActivateDevice 操作、设备激活减速器功能)。我认为这段代码并不真正适合身份验证功能。
那么我应该将reducer 放到我的authReducer 中,将ActivateDevice-Action 放到Auth Actions 中还是要创建不同的文件(例如device.reducer.ts/device.actions.ts)?如果你创建了一个不同的减速器。那么如何处理来自这个 reducer 的 AuthState 呢?
解决方案
如果它们是两个独立的实体,我建议将它们分成多个减速器。我不知道说这是解决您的问题的方法,因为在某些情况下,在单个减速器中“分组”实体更容易。
那么如何处理来自这个 reducer 的 AuthState
它不能。一个reducer 只负责自己的状态,不能从另一个reducer 访问/修改状态。
推荐阅读
- javascript - Angular - 如何从 JS 包中导入模块
- java - 如何以编程方式关闭 ControlFX 通知?
- git - 更新对旧分支的提交
- flutter - Flutter 中的收藏按钮在 Relaunch 应用程序中被取消收藏
- java - TreeSet CompareTo 没有给出理想的结果
- javascript - 无法使用 Bootstrap 4 实现滚动间谍。为什么?
- python-3.x - 即使强制更新,Django模型的保存方法也不会更新现有记录的字段
- laravel - websocket连接在ubuntu服务器上建立laravel之前关闭?
- python - 导入 wordnet 和停用词时出现 chaquopy 错误
- swift - Nike Hybrid 表盘的复杂功能系列(环形文字)