Я работаю над приложением React Native, которое аутентифицирует запросы с помощью токенов JWT. Для этого я создал перехватчики запросов и ответов 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);
}
);