const { user, setUser } = useContext(UserContext)
const [wasFetched, setFetched] = useState(false)
useEffect(() => {
const token = user.token
const getResouce = async () => {
if (wasFetched) {
return;
}
setFetched(true)
const getRes = await axios
.get('/api/game/res', {
headers: { 'x-auth-token': token },
})
.catch((error) => {
console.log(error.response)
})
}
}, [user])
Проверил network действительно первый запрос идёт до того как произойдёт авторизация пользователя т.е. когда user undefined потом идёт auth получает токен и юзер юзЭффект в хедере видит изменение и перерендерит компонент. Я просто думал что всё происходит последовательно а тут получается "кто первый встал того и тапки".
Even if an ancestor uses React.memo or shouldComponentUpdate, a rerender will still happen starting at the component itself using useContext.