【问题标题】:React - Can we use axios interceptors at app.js instead of index.js?React - 我们可以在 app.js 中使用 axios 拦截器而不是 index.js 吗?
【发布时间】:2022-01-03 01:07:52
【问题描述】:

我们可以在 app.js 中使用 axios 拦截器而不是 index.js 吗?我只想知道在 app.js 或任何其他文件而不是 index.js 中使用它是否有任何缺点。对于我的场景,我必须检查用户是否有权进行每个后端请求调用,并且必须根据拦截器的结果更新本地状态。

【问题讨论】:

    标签: reactjs react-native axios


    【解决方案1】:

    您可以创建一个拦截器文件,并在您想使用 axios 时将其包含在任何地方

    import axios from 'axios';
    
     const axiosInterceptor =  axios.interceptors.response.use((response) => {
    
      if (response.status === 401) {
        console.log("You are not authorized");
        //redirect
      }
      return response;
    }, (error) => {
      if (error.response && error.response.data) {
        return Promise.reject(error.response.data);
      }
      return Promise.reject(error.message);
    });
    
    export default axiosInterceptor;
    

    在你的组件中

    import axiosInterceptor from './utils/axiosInterceptor.js'
    

    【讨论】:

    • 我想我们在 index.js 中使用过一次。我的问题是'我可以在任何文件中使用它吗?还是在不同的文件上使用它很重要?
    猜你喜欢
    • 2018-11-27
    • 2023-01-19
    • 1970-01-01
    • 2019-11-13
    • 2020-03-08
    • 1970-01-01
    • 2014-10-23
    • 2019-06-26
    • 1970-01-01
    相关资源
    最近更新 更多