【发布时间】:2022-01-03 01:07:52
【问题描述】:
我们可以在 app.js 中使用 axios 拦截器而不是 index.js 吗?我只想知道在 app.js 或任何其他文件而不是 index.js 中使用它是否有任何缺点。对于我的场景,我必须检查用户是否有权进行每个后端请求调用,并且必须根据拦截器的结果更新本地状态。
【问题讨论】:
标签: reactjs react-native axios
我们可以在 app.js 中使用 axios 拦截器而不是 index.js 吗?我只想知道在 app.js 或任何其他文件而不是 index.js 中使用它是否有任何缺点。对于我的场景,我必须检查用户是否有权进行每个后端请求调用,并且必须根据拦截器的结果更新本地状态。
【问题讨论】:
标签: reactjs react-native axios
您可以创建一个拦截器文件,并在您想使用 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'
【讨论】: