useState хранит состояние между рендерами, а setter ставит обновление в очередь; текущая переменная в обработчике немедленно не меняется.
Расскажи про useState в React: что это такое, как работает, синхронный или асинхронный хук?
useState хранит состояние между рендерами, а setter ставит обновление в очередь; текущая переменная в обработчике немедленно не меняется.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
useState хранит состояние между рендерами, а setter ставит обновление в очередь; текущая переменная в обработчике немедленно не меняется.
Сам вызов хука синхронен, но следующий render планирует React, часто объединяя обновления. Поэтому формулировка «useState асинхронный» слишком груба. Если новое значение зависит от предыдущего, используйте setCount(c => c + 1). State текущего render является снимком.