首页 > 解决方案 > 调度动作时访问另一个减速器的数据?

问题描述

在我的角度应用程序中,我定义了以下减速器树:

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
            }
        };

在字段用户内部有一个“--”。那是因为我不确定如何在这里检索用户减速器。有没有办法得到它?

起初我想将用户添加为构造函数中的参数之一,但我想从减速器中获取它,所以我不必在使用日志的任何地方获取用户。

提前致谢!

标签: angularreduxngrxreducersngrx-store

解决方案


订阅具有用户详细信息的减速器,您可以将此用户传递给调用此减速器的操作。


推荐阅读