Доступ к данным другого редуктора при отправке действия? - PullRequest
0 голосов
/ 09 января 2019

Внутри моего углового приложения определено следующее дерево редукторов:

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

Внутри поля пользователя есть «-». Это потому, что я не уверен, как я могу получить пользовательский редуктор здесь. Есть ли способ получить его?

Сначала я думал о добавлении пользователя в качестве одного из параметров внутри конструктора, но я хотел бы получить его от редуктора, чтобы мне не приходилось приводить пользователя везде, где я использую журнал.

Заранее спасибо!

1 Ответ

0 голосов
/ 09 января 2019

Подпишитесь на редуктор, имеющий данные о пользователе, и вы можете передать этого пользователя в действие, которое вызывает этот редуктор.

...