Загрузка…
Загрузка…
useState — хук для локального состояния в функциональном компоненте. Возвращает пару: текущее значение и функцию обновления (setter).
const [value, setValue] = useState(initialValue);
// Ленивая инициализация — если initial дорогой
const [data, setData] = useState(() => expensiveCompute());Поведение, которое проверяют на практике:
setValue React планирует рендер с новым значением;setValue(prev => prev + 1) — предпочтительно, если опираетесь на предыдущее;function Toggle() {
const [on, setOn] = useState(false);
return (
<button onClick={() => setOn(v => !v)}>
{on ? 'Вкл' : 'Выкл'}
</button>
);
}Советы по дизайну state: не дублируйте то, что выводится из props; дробите state по независимым кускам или наоборот объединяйте, если поля всегда меняются вместе; для сложной логики переходов рассмотрите useReducer.
useState даёт значение + setter; обновление иммутабельно и приводит к рендеру.
