调度动作时访问其他减速器的数据?

时间:2019-01-09 04:51:34

标签: angular redux ngrx reducers ngrx-store

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

export interface State {
    user: fromUser.State;
    logs: fromLogs.State;
    platforms: fromPlatforms.State;
    languages: fromLanguages.State;
    apps: fromApps.State;
    news: fromNews.State;
}

这里的主要项目是用户和日志减少器。在用户reducer内,我具有字段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) { }
}

构造函数具有添加日志所需的参数。分派此操作时,它将调用以下reducer:

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

在现场用户的内部有一个“-”。那是因为我不确定如何在这里检索用户减速器。有办法吗?

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

谢谢!

1 个答案:

答案 0 :(得分:0)

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