Angular / NgRx - передать универсальный тип в Effect - PullRequest
1 голос
/ 08 марта 2019

Я хотел бы создать действие и эффект, которые принимают универсальный тип, но я не знаю, как передать универсальный тип в эффект

минималистский код, который работает без действующего универсального типа:

Компонент:

this.store.dispatch(
  new fromDialogActions.OpenDialogAction<DetailComponent>({
    component: DetailComponent, config: DIALOG_CONFIG
  })
);

Действие:

export class OpenDialogAction<T> implements Action {
  readonly type = DialogActionTypes.OPEN_DIALOG;
  constructor(public payload: OpenDialogPayload<T>) {}
}

Эффект:

export class DialogEffects {
  @Effect({ dispatch: false })
  openDialog$: Observable<null> = this.actions$.pipe(
    ofType(fromDialogActions.DialogActionTypes.OPEN_DIALOG),
    map((action: fromDialogActions.OpenDialogAction<DetailComponent>) => action.payload)
  );
}

Как передать универсальный здесь: map ((action: fromDialogActions.OpenDialogAction <DetailComponent>) => action.payload) вместоDetailComponent?Ty

...