angular - 调度动作时访问另一个减速器的数据?
问题描述
在我的角度应用程序中,我定义了以下减速器树:
export interface State {
user: fromUser.State;
logs: fromLogs.State;
platforms: fromPlatforms.State;
languages: fromLanguages.State;
apps: fromApps.State;
news: fromNews.State;
}
这里的主要项目是用户和日志减速器。在用户减速器中,我有登录用户的数据和字段userData
。接下来,我有一个日志减速器,它存储了一个添加日志的操作:
export class RequestLogsAdd implements Action {
readonly type = LogsActionTypes.REQUEST_LOGS_CHANGE;
constructor(public textTag: string, public actionType: string, public tags: string[], public data: any) { }
}
构造函数具有添加日志所需的参数。当调度此操作时,它会调用以下减速器:
case LogsActionTypes.REQUEST_LOGS_CHANGE:
return {
...state,
isLoading: true,
logToAdd: {
textTag: actions.textTag,
type: actions.type,
user: --,
date: new Date(),
tags: actions.tags,
data: actions.data
}
};
在字段用户内部有一个“--”。那是因为我不确定如何在这里检索用户减速器。有没有办法得到它?
起初我想将用户添加为构造函数中的参数之一,但我想从减速器中获取它,所以我不必在使用日志的任何地方获取用户。
提前致谢!
解决方案
订阅具有用户详细信息的减速器,您可以将此用户传递给调用此减速器的操作。
推荐阅读
- css - 升级到 Chrome 72 后是否有人遇到布局问题?
- react-native - 领域:“数组”类型的属性“虚拟”不能为空
- c++ - 自定义独立 printf 仅显示一个字母和随机大写 S
- html - 如何使用 CSS 管理 HTML 元素压缩
- javascript - 使用 vue.js 存储对象的元素
- java - Jenkins、Gradle 和“神器”是如何联系在一起的?
- c# - SpecFlow 在同一个或多个测试代理中并行执行
- javascript - 按字母顺序对 ToDoList 排序 - 已完成或未完成的任务
- r - 如何使用 dplyr 创建需要超过 50 个不同因子值的列
- java - 在 JAVA 中使用 XSLT 转换 XML