Reactjs С;从React Redux中获取的atch错误
现在我有了以下架构。React Redux在前端,还有Rails api。在我的应用程序状态(Redux)中,我存储用户状态(已授权或未授权)。当我通过fetch发出任何请求时,我总是处理相同的错误并发送相同的头 例如:如果我有来自服务器的未经授权的错误,我总是调度reducer,这会将用户的状态更改为未经授权 在一个地方处理这些错误的最佳方法是什么Reactjs С;从React Redux中获取的atch错误,reactjs,redux,fetch,Reactjs,Redux,Fetch,现在我有了以下架构。React Redux在前端,还有Rails api。在我的应用程序状态(Redux)中,我存储用户状态(已授权或未授权)。当我通过fetch发出任何请求时,我总是处理相同的错误并发送相同的头 例如:如果我有来自服务器的未经授权的错误,我总是调度reducer,这会将用户的状态更改为未经授权 在一个地方处理这些错误的最佳方法是什么 谢谢 首先为所有操作缩减器维护一个存储,为用户身份验证状态创建一个操作缩减器。 要在一个位置处理错误,请在“服务”文件夹中创建axios服务(如果
谢谢 首先为所有操作缩减器维护一个存储,为用户身份验证状态创建一个操作缩减器。 要在一个位置处理错误,请在“服务”文件夹中创建axios服务(如果您使用的是axios For HTTP)。 服务可以是这样的
import axios from 'axios';
var AxiosService = {
getMethod,
postMethod,
}
function getMethod(url, successCallBack, errorCallBack) {
axios.get(url, {
header: header
}).then((data => {
return successCallBack(data);
})).catch(err=>{
//IF ERROR TYPE IS 401 UNAUTHORIZED
//DISPATCH HERE
})
}
function postMethod(url, obj, successCallBack, errorCallBack) {
return axios.post(url, obj, {
header: header
}).then((data => {
return successCallBack(data);
})).catch(err=>{
//IF ERROR TYPE IS 401 UNAUTHORIZED
//DISPATCH HERE
})
}
export default AxiosService;
在任何组件中,在获取时,只需像导入AxioService一样
import AxiosService from '..address'
AxiosService.getMethod('my/rails/backend',data=>{},err=>{})
当api调用以401失败时,您能建议如何检查catch块中的错误类型吗?