【发布时间】:2019-06-11 10:24:54
【问题描述】:
我正在开发一个使用 JWT 令牌对请求进行身份验证的 React Native 应用程序。为此,我创建了 axios 请求和响应拦截器,以将令牌添加到每个请求(请求拦截器),并在响应具有 401 HTTP 状态(响应拦截器)时将用户重定向到登录屏幕。
问题是我还没有找到在组件之外进行重定向的方法。下面的代码在一个 API 服务中,每当我想要进行 API 调用时都会导入该服务。
由于此服务是无状态的并且不关心从哪个组件调用它,我需要做什么才能重定向到我的登录屏幕?
// Response interceptor
axiosInstance.interceptors.response.use(
response => {
// Do something with response data
if (response.status === 401) {
deviceStorage.removeData('token');
// TODO:
// Redirect to login page
}
return response;
},
error => {
// Do something with response error
return Promise.reject(error);
}
);
【问题讨论】:
标签: reactjs react-native native react-native-android