В чём разница между использованием обычной переменной и хука useState внутри React-компонента?

Обычная локальная переменная создаётся заново при вызове компонента и её изменение не запускает рендер. UseState сохраняет состояние между рендерами.

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

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

Обычная локальная переменная создаётся заново при вызове компонента и её изменение не запускает рендер. UseState сохраняет состояние между рендерами.

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

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

Обычная локальная переменная создаётся заново при вызове компонента и её изменение не запускает рендер. UseState сохраняет состояние между рендерами.

Setter сообщает React о необходимости обновления, а каждый рендер получает свой снимок значения. Поэтому сразу после вызова setter текущая переменная не меняется. Если значение нужно хранить между рендерами без обновления интерфейса, рассмотрите useRef, а не обычную переменную.

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

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

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

Подробнее