useState — это хук для хранения состояния в функциональном компоненте. Принимает начальное значение, возвращает массив из текущего значения и функции-сеттера: const [count, setCount] = useState(0). Вызов setCount вызывает ре-рендер компонента. Обновление асинхронное и батчится. Если новое значение зависит от предыдущего — используй функциональную форму: setCount(prev => prev + 1). Для объектов и массивов нужно создавать новую ссылку, иначе React не увидит изменение.