Расскажи про useState в React: что это такое, как работает, синхронный или асинхронный хук?

useState хранит состояние между рендерами, а setter ставит обновление в очередь; текущая переменная в обработчике немедленно не меняется.

Короткий ответ

Что ответить на собеседовании

useState хранит состояние между рендерами, а setter ставит обновление в очередь; текущая переменная в обработчике немедленно не меняется.

Подробный разбор

Ответ с пояснениями

useState хранит состояние между рендерами, а setter ставит обновление в очередь; текущая переменная в обработчике немедленно не меняется.

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

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее