Добавление нового свойства ко всем действиям в NGRX - PullRequest
0 голосов
/ 14 июля 2020

Можно ли добавить новые свойства к действию с функцией создания действия, которая может использоваться повторно?

Действия в NGRX имеют свойство типа. Я хочу расширить Actions, чтобы добавить новое свойство (называемое customType) ко всем моим действиям в моем проекте. По сути, я хочу иметь возможность прослушивать эффект для всех действий, которые затем имеют это свойство (скажем, action.customType === 'HTTP') с идеей иметь один функциональный модуль, который может отслеживать состояние загрузки и ошибки HTTP-вызовов, связанных с действием.

С целью, по сути, иметь возможность делать это в компоненте:

this.store.dispatch(action.loadObject());
this.isLoading$ = this.store(httpSelectors.isLoading).pipe(x => x(action.loadObject))

1 Ответ

0 голосов
/ 16 июля 2020

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

constructor(
    private actions$: ActionsSubject
) {}

ngOnInit() {
    this.actions$.pipe(
        filter(action => action.customType === 'errorOrSomethingElse')
    ).subscribe(action => console.log(action));
}
...