Токен не ставится при запросе
есть небольшое приложение на реакте, когда делаю запрос на апи для авторизации, ответом идет токен, и сразу редирект на другой юрл, но когда делают редирект на другой юрл, там запрос идет без токена, но если обновить страницу, то токен будет. Как быть? Пробовал добавлять токен и из компонента, и прямиком из функции с запросом.
const apiLink = "link"
const tokenApi = localStorage.getItem('token')
const POST = async (link, data) => {
try {
const response = await axios.post(apiLink + link + '?' + data, null ,{
headers: {
'token': tokenApi
}
});
const responseToken = response.data
if (responseToken && !tokenApi) {
localStorage.setItem('token', responseToken);
}
return response;
} catch (error) {
return error
}
}
export function signUp(login, password) {
return POST('/auth', 'login=' + login + '&password=' + password)
}
//компонент на который делаю редирект
useEffect(() => {
const fetchPatientEntries = async () => {
try {
const entries = await getEntries(startDate, days);
const users = await getUsers()
dispatch({ type: 'SET_USERS', value: users })
if (entries.length > 0) {
dispatch({ type: 'SET_SCHEDULE', value: entries });
} else {
console.log(PatientsSchedule)
}
setIsActive(false)
} catch (error) {
console.error(error)
}
};
fetchPatientEntries();
}, []);
Ответы (1 шт):
Автор решения: ne110
→ Ссылка
const apiLink = "link"
const tokenApi = localStorage.getItem('token')
const POST = async (link, data) => {
try {
const response = await axios.post(apiLink + link + '?' + data, null ,{
headers: {
'token': tokenApi
}
});
const responseToken = response.data
if (responseToken && !tokenApi) {
localStorage.setItem('token', responseToken);
}
return response;
} catch (error) {
return error
}
}
export function signUp(login, password) {
return POST('/auth', 'login=' + login + '&password=' + password)
}
useEffect(() => {
const fetchPatientEntries = async () => {
try {
const entries = await getEntries(startDate, days);
const users = await getUsers()
await dispatch({ type: 'SET_USERS', value: users })
if (entries.length > 0) {
await dispatch({ type: 'SET_SCHEDULE', value: entries });
} else {
console.log(PatientsSchedule)
}
setIsActive(false)
} catch (error) {
console.error(error)
}
};
fetchPatientEntries();
}, []);