在 reactjs 中使用 axios 请求处理错误

Error handling with axios requests in reactjs

我有一个用 React 构建的 SPA 应用程序,其中有许多对 API 的 axios 调用。当错误状态 returns 401 时,我可以在 axios 中设置重定向到登录页面,但是由于大量调用分布在很多组件中,是否有更好的方法来处理这个问题而无需重复:

if (error.status === 401) {
    //redirect to login page
}

在每个请求中

避免在所有组件中编写 api 调用,创建一个单独的文件 api.js 或一些 abc.js,并编写一个通用的调用方法,并从具有适当参数的不同组件。在那种情况下,您需要在每个文件中处理所有这些类型的情况,只需将逻辑仅放在 api.js 文件中的一个位置即可。

api.js:

export function _callAPI(url, method, data, target){
     /*
         url: separate url for different component
         method: Get or Post or Put etc
         data: if required to pass
         target: callback method
     */
}

然后在不同的组件中导入:

import * as Api from 'path to api.js file';

通过以下方式调用:

Api._callAPI(url, method, data, (data) => {
    console.log(data);
})