Обычная локальная переменная создаётся заново при вызове компонента и её изменение не запускает рендер. UseState сохраняет состояние между рендерами.
В чём разница между использованием обычной переменной и хука useState внутри React-компонента?
Обычная локальная переменная создаётся заново при вызове компонента и её изменение не запускает рендер. UseState сохраняет состояние между рендерами.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Обычная локальная переменная создаётся заново при вызове компонента и её изменение не запускает рендер. UseState сохраняет состояние между рендерами.
Setter сообщает React о необходимости обновления, а каждый рендер получает свой снимок значения. Поэтому сразу после вызова setter текущая переменная не меняется. Если значение нужно хранить между рендерами без обновления интерфейса, рассмотрите useRef, а не обычную переменную.