Как вызвать action в другом сторе?
Вот такая у меня структура приложения , в pages/account/store есть action BaseError он имеет свой редюсер, свой селект, свое состояние, и свой effect. Он нужен для обработки ошибок сервера. Он отлично работает в своем каталоге то есть в pages/account ,там все супер. Но вот я хочу вызвать этот action в pages/author я вызываю этот экшн в еффекте. И дальше в компоненте в ngOnINit получаю ошибку с помощью селекта и хочу ее вывести на страничку . Когда я пишу console.log(errorMessage) в ngOnInit,то вижу что ошибка сюда даже не заходит. Помогите пожалуйста. Не знаю как это решить
Код эффекта в котором вызываю экшн
@Effect()
UpdateAuthor = this.actions$.pipe(
ofType<updateAuthorAction.UpdateAuthor>(updateAuthorAction.EUpdateAuthorAction.UpdateAuthor),
mergeMap((action: updateAuthorAction.UpdateAuthor) =>
this.authorService.updateAuthor(action.payload).pipe(
map((model: AuthorModel) => {
console.log(model);
return new updateAuthorAction.UpdateAuthorSuccess(model);
}),
catchError((errorMessage) => {
console.log(errorMessage);
let error = JSON.parse(JSON.stringify(`${errorMessage.error.errors.Name}`));
console.log(error);
return of(new BaseError(error));
})
))
);
Код компонента
xport class UpdateAuthorComponent implements OnInit {
updateAuthorForm: FormGroup;
id: string;
author: AuthorModel;
errorMessage: any;
constructor(
private store$: Store<AuthorState>,
private formBuilder: FormBuilder,
private activateRoute: ActivatedRoute,
private errorStore$: Store<AccountState>,
)
{
this.updateAuthorForm = new FormGroup({
"name" : new FormControl("", Validators.required)
});
}
ngOnInit(): void {
this.id = this.activateRoute.snapshot.paramMap.get('id');
this.errorStore$.select(getErrorMessage).subscribe(
errorMessage => {
this.errorMessage = errorMessage;
console.log(errorMessage);
}
)
}
