что все состояние, переменные и эффекты принадлежат конкретному рендерингу. Вот мы первый раз срендерили компонент, он вмонтировался в дом, через секунду сработал эффект. Компонент перерендерился, но раз он не заанмаунтился, то предыдущий эффект все еще работает. И новый не сработает, так как нет зависимостей у эффекта. Тогда почму параметр в setCount(c => ...), уже будет новый, ведь эффект остался старый. Что я упускаю?
setState принимает в качестве аргумента функцию специально для того, чтобы не брать «старые» значения из замыкания, а получать актуальное значение из кишок реакта. Реакт при вызове этого коллбэка передаст нужное значение стейта
https://overreacted.io/a-complete-guide-to-useeffect/
Обсуждают сегодня