от сервака получаю TOKEN, сохраняю его в localstorage. Как только логин удачный, я попадаю на главный экран, где запускается запрос на получение данных в useEffect, но в запросе нет моего сохраненного токена и от сервака я получаю 401. может кто знает почему так?
const TOKEN = localStorage.getItem(KEY_TOKEN_IN_LOCAL_STORAGE);
export const axios = baseAxios.create({
baseURL: '/api',
headers: {
...(TOKEN && {
Authorization: `Token ${TOKEN}`,
}),
},
});
Ты только 1 раз присваиваешь в переменную токен свой токен. Из-за того что до логина у тебя там ничего,то это значение и сохраняется в переменной, переделай TOKEN в функцию, и она будет вызывается потом при запросе на апи, когда уже есть токен
const getToken = () => localStorage.getItem(KEY_TOKEN_IN_LOCAL_STORAGE); Тип такого?
стоп, ты создаёшь инстанс аксиоса в начале приложения. В этот момент у тебя ещё нету токена, надо в каждый запрос кидать getToken, тогда будет работать
т.е. геттер в авторизацию, что-бы функция запускалась каждый раз, когда запрашивается значение
Обсуждают сегодня