useState и useEffect
useState — это память компонента. Обычная переменная после перерисовки обнуляется, а состояние живёт между рендерами: меняешь его — React сам перерисовывает то, что от него зависит.
useEffect — это побочные действия: запрос к серверу, подписка, работа с документом. Массив зависимостей в конце говорит, когда эффект должен повториться.
Нажатие вызывает setCount → React перерисовывает компонент с новым значением → срабатывает эффект и меняет заголовок вкладки.
Что проверить перед сдачей
Состояние не мутируется напрямую (count++ — нельзя), массив зависимостей заполнен осознанно, а в консоли нет предупреждений React.
Компонент-таймер на хуках
Сделай таймер: кнопки «старт», «пауза», «сброс». Секунды хранишь в useState, интервал заводишь в useEffect и обязательно чистишь при размонтировании. Залей на GitHub и пришли ссылку — куратор проверит и пришлёт фидбек.