Токен не ставится при запросе

есть небольшое приложение на реакте, когда делаю запрос на апи для авторизации, ответом идет токен, и сразу редирект на другой юрл, но когда делают редирект на другой юрл, там запрос идет без токена, но если обновить страницу, то токен будет. Как быть? Пробовал добавлять токен и из компонента, и прямиком из функции с запросом.

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();
    }, []);

→ Ссылка