В JavaScript-библиотеке React хук 'useState' используется для управления состоянием в функциональных компонентах. До появления хуков, состояние в React можно было управлять только в классовых компонентах, что затрудняло разработку и портативность кода.
В основе работы хука 'useState' лежит функция, которую он возвращает. Эта функция получает один аргумент — новое значение состояния, и возвращает новую версию состояния, которая заменяет старую.
import React, { useState } from 'react';
function Example() {
// Объявление переменной состояния, которую мы назовём "count"
const [count, setCount] = useState(0);
return (
<div>
<p>Вы кликнули {count} раз</p>
<button onClick={() => setCount(count + 1)}>
Нажми на меня
</button>
</div>
);
}
В этом примере useState
объявляет новую переменную состояния count
и функцию, позволяющую обновлять это состояние (setCount
). Прежде всего, мы передаем начальное значение в useState
, в данном случае 0
. Затем, при клике на кнопку, вызывается функция setCount
, увеличивающая значение count
на один.
Таким образом, хук useState
предоставляет нам возможность увеличивать сложность состояния и логики функциональных компонентов, сохраняя при этом ясность и чистоту кода.
Однако важно помнить, что хук useState
не объединяет старые и новые состояния вместе, как это делает setState
в классовых компонентах. Каждый вызов useState
устанавливает отдельное состояние. Изменение одного состояния не повлияет на другие состояния компонента. Это может быть важной тонкостью при миграции с классовых компонентов на функциональные.