想象一下处理表单提交的情况,它可以返回不同的错误:400,401,500.当返回400时,我想在表单顶部显示一条消息(覆盖默认行为).对于其他(未处理的)错误代码,应调用默认(全局)错误处理程序(显示通知toast).只是不想为每个动作复制此代码
我使用redux-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);
Run Code Online (Sandbox Code Playgroud)
我可以创建一个reducer来处理所有{error:true}动作并显示一些弹出通知(可能没有使用redux状态,直接调用一些toast.show()方法)但是如何确定这个特殊错误是否已被某些人处理过其他减速机?