У меня небольшой проект, в котором я использую React без Redux или Router. Также я использую ax ios для каждого запроса.
Что мне нужно сделать, так это то, что в случае, если любой ответ имеет код ошибки 401, мне нужно показать какой-то мод с соответствующим сообщением об ошибке.
Я создал экземпляр ax ios и установил там перехватчик ответа:
const axiosInstance = axios.create({
baseURL: URL_PREFIX,
headers: {
'X-Requested-With': 'XMLHttpRequest',
},
})
axiosInstance.interceptors.response.use(
response => response,
error => {
if(error.response.status === 401) {
// I want to show modal from here,
// but this is outside of my component tree
// and I can not access my modal state to set it open.
}
return error
}
)
Затем я использую свой созданный экземпляр ax ios для каждого вызова API.
Я также пытался установить перехватчик ответа из моего root компонента useEffect (). Но это не работает
Есть ли какой-нибудь хороший способ сделать это sh без использования Redux или Router?