Представьте себе ситуацию с обработкой формы submit, которая может возвращать различные ошибки: 400, 401, 500. Когда возвращается 400, я хочу показать сообщение в верхней части формы (переопределить поведение по умолчанию). Для других (необработанных) кодов ошибок должен быть вызван обработчик ошибок по умолчанию (глобальный) (который показывает уведомление об атаке). Просто не хотите дублировать этот код для каждого отдельного действия.
Я отправляю асинхронные действия с использованием промежуточного ПО relx-thunk
// Pseudo code
const action = (dispatch) => {
const onSuccess = (result) => dispatch({type: 'OPERATION_SUCCESS', payload: result});
const onError = (error) => dispatch({type: 'OPERATION_ERROR', error: true, payload: error});
return promise.then(onSuccess, onError);
};
dispatch(action);
Я могу создать редуктор, который обрабатывает все действия {error: true} и отображает всплывающее уведомление (возможно, без использования состояния redux, непосредственно вызывающего метод toast.show()) Но как определить, была ли эта специальная ошибка обработана каким-либо другим редуктором?