Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про React: usestate, setter

Какие аргументы может принимать сеттер из useState?

Вопрос проверяет понимание работы состояния в React и способов его обновления.

Короткий ответ

Сеттер из useState может принимать либо новое значение, либо функцию-обновитель. Функция-обновитель получает предыдущее состояние и возвращает новое. Второй вариант нужен, когда новое состояние зависит от предыдущего. React сам решает, когда применить обновление.

Длинный ответ

useState возвращает текущее состояние и функцию для его обновления.

Определение

Сеттер состояния — функция, которая сообщает React, что состояние нужно обновить.

Передача значения

Используется, когда новое состояние не зависит от старого.

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

setCount(5);

Передача функции (updater)

Используется, когда новое значение зависит от предыдущего.

setCount(prev => prev + 1);

Почему это важно

  1. Обновления состояния могут быть сгруппированы (batching).

  2. Значение count внутри замыкания может быть устаревшим.

  3. Updater-функция всегда получает актуальное состояние.

Пример проблемы без updater

setCount(count + 1);
setCount(count + 1);
// результат может быть +1, а не +2

Правильный вариант

setCount(c => c + 1);
setCount(c => c + 1);
// гарантированно +2

Вывод

Сеттер useState принимает либо значение, либо функцию, и при зависимостях от предыдущего состояния всегда нужно использовать updater-функцию.

Уровень

  • Рейтинг:

    5

  • Сложность:

    4

Навыки

  • React

    React

Ключевые слова

#usestate

#setter

Подпишись на React Developer в телеграм