Я относительно новичок в NgRx, я использую его всего несколько месяцев, и есть эта проблема, с которой я боролся уже несколько дней, и никогда не нашел ничего полезного в документации по этому поводу.
Я также использую Angular 8 с NgRx 8. Это мой довольно простой, фиктивный код.
действие getItems
export interface GetItems {
param: number;
}
export const getItems = createAction("[App] Get items", props<GetItems>());
эффект getItems:
getItems$ = createEffect(
() =>
this.actions$.pipe(
ofType(AppActions.getItems),
tap((action) => console.log(action.param),
exhaustMap(action => this.appService.getItems()),
map((response: Item[]) => {
console.log(action.param);
return this.store.dispatch(
AppActions.getItemsComplete({ items: response })
);
})
),
{ dispatch: false }
);
Отправка действия getItems:
ngOnInit(): void {
const param: number = 99;
this.store.dispatch(getItems({ param }));
}
Есть ли способ получить параметр действия полезную нагрузку внутри оператора выхлопной карты? Как вы можете видеть здесь, второй console.log выдаст ошибку об объекте пропущенных действий. Моя цель: сначала отправить запрос в appService (без параметра действия getItems ), а затем отправить действие getItemsComplete С getItems параметр действия.