Как изменить состояние контекста с помощью перехватчика axios?

#reactjs #context-api

#reactjs #реагировать-контекст

Вопрос:

У меня есть перехватчик axios, который проверяет наличие 403 ответов на случай, если пользователь не аутентифицирован. Что я ищу, так это изменить состояние пользователя в контекстном API изнутри перехватчика, если был найден ответ 403. Проблема, однако, в том, что я не могу получить доступ к контексту за пределами провайдера. Есть ли какой-либо способ изменить состояние пользователя в контексте, когда перехватчик перехватывает ответ 403?

Ответ №1:

Я смог решить проблему, включив перехватчик useEffect в свой контекстный компонент. Таким образом, перехватчик создается один раз на самом верхнем уровне моего приложения. Более того, теперь я могу изменить состояние своего контекста из перехватчика, поскольку теперь он находится внутри моего контекстного компонента.