Здравствуйте. Есть хук useEffect(), в котором делаю асинхронный запрос и по ответу устанавливаю в некоторое состояние значение ответа этого запроса.
useEffect(() => {
axios.get(`/calendar/month/${currentYear}/${currentMonth}`)
.then(res=>{
setDayFiles(res.data)
console.log(dayFiles)
})
}, [currentYear, currentMonth])
Почему console.log(dayFiles) показывает предыдущее значение currentMonth, хотя даныне res.data приходят другие.
В тоже время если добавить еще один хук, то все отображается корректно:
useEffect(() => {
console.log(dayFiles)
}, [dayFiles])
Понимаю, что дело в реакте и в логике работы компонентов. Объясните плиз на пальцах почему именно так работает. Спасибо заранее