TGViewer
React JS React JS @react_tg · 16.3K subscribers
Post #991 4.41K
📘 React-подсказка: как работает `useState`

Хук useState добавляет состояние в функциональный компонент, позволяя создавать интерактивные интерфейсы.

🔹 Что делает `useState`?
Добавляет состояние в функциональный компонент. Ты можешь отслеживать и изменять значения прямо внутри компонента.

🔧 1. Импорт

import { useState } from 'react';


🔧 2. Объявление состояния

const [count, setCount] = useState(0);

count — текущее значение
setCount — функция для обновления
0 — начальное значение

Примеры с разными типами данных:

const [name, setName] = useState('Alice'); // строка
const [isActive, setIsActive] = useState(false); // булево
const [user, setUser] = useState({ id: 1, name: 'Bob' }); // объект
const [items, setItems] = useState([]); // массив


🔧 3. Обновление состояния
Не изменяй значение напрямую — используй функцию:

setCount(count + 1);
setName('Charlie');
setIsActive(!isActive);
setUser({ ...user, name: 'David' });
setItems([...items, 'New']);


🎯 4. Функциональный стиль обновления
Если новое значение зависит от предыдущего:

setCount(prev => prev + 1);


📦 5. Несколько состояний в одном компоненте

function MyComponent() {
const [count, setCount] = useState(0);
const [text, setText] = useState('');

return (
<>
<button onClick={() => setCount(count + 1)}>+1</button>
<input value={text} onChange={e => setText(e.target.value)} />
<p>Счётчик: {count}</p>
<p>Текст: {text}</p>
</>
);
}


Что важно помнить

* useState возвращает массив [значение, функция].
* Обновление состояния асинхронно.
* При работе с объектами и массивами всегда создавай копии, не мутируй напрямую.

🔥 Пользуйся этой шпаргалкой, чтобы уверенно управлять состоянием в React-приложениях!
#React #useState #Frontend #JavaScript

@react_tg
  • 👍 19
  • ❤ 4
  • 🔥 2
More from @react_tg
  1. Sep 24, 2026Temperature displays Индикаторы - это svg-картинки, параметры которых задаются в JS. https…
  2. Sep 24, 2026Участвуй во всероссийском ИТ-чемпионате МТС True Tech Champ 2026 c призовой фондом 10 250…
  3. Sep 21, 2026JavaScript. Что будет выведено в консоль? Ответ: 40
  4. Sep 21, 2026⚡️5 фундаментальных курсов по ИБ по цене одного Это предложение для тех, кто готов войти в…
  5. Sep 20, 2026Post #1282
  6. Sep 18, 2026Переключение тем Темы оформления с возможностью переключения, реализованные с помощью Post…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →