В результате проверки подлинности я обрабатываю ошибку сервера:
catchError((err, caught) => {
let toasterPayload = {
title: 'Error',
message: err,
conf: {}
}
return [
{
type: CoreActions.SHOW_ERROR_TOASTR,
payload: toasterPayload
},
caught
];
Цель состоит в том, чтобы позволить потоку наблюдаемого потока, а затем отправить действие, показывающее тостер. Чтобы не повторить строку this.toastrService.error(..,..)
в witch catchError всех эффектов моего приложения, я написал общее и общее действие ( SHOW_ERROR_TOASTR ):
...other cases...
case (CoreActions.SHOW_ERROR_TOASTR):
toastrService.error(action.payload.title, action.payload.message, action.payload.config);
return state;
Вверху файла редуктора я импортировал сервис Toastr:
import * as toastrService from 'ngx-toastr';
но выдает следующую ошибку:
Свойство 'error' не существует для типа 'typeof "C: / Users / myPc / projects / test / node_modules / ngx-toastr / ngx-toastr"'.
Как правильно внедрить (и использовать его) сервис внутри редуктора? Является ли это хорошей практикой для централизации кода (чтобы не повторять тостер во всех catchErrors)?