Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Специализация

Python Backend Developer

Java Backend Developer

Node.js Backend Developer

Golang Backend Developer

React Frontend Developer

Посмотреть все

Выберите навыки

React

React

JavaScript

JavaScript

Git

Git

Redux

Redux

Webpack

Webpack

Посмотреть все

Сложность

1-3

4-6

7-8

9-10

Рейтинг вопросов

1

2

3

4

5

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

Вопросы React Frontend Developer


Как объединить обновление состояния для нескольких setState?

React группирует несколько вызовов setState, происходящих в одном синхронном событии, в одно обновление, чтобы избежать лишних перерендеров. Это поведение называется батчинг, и оно работает по умолчанию в обработчиках событий React, но в асинхронном коде раньше требовалось вручную вызывать flushSync или unstable_batchedUpdates.

Подробнее

Асинхронный или синхронный setState в React?

setState в React не является строго синхронным или асинхронным. React может объединять несколько обновлений состояния для оптимизации. Обновление состояния происходит не сразу, а планируется. Поэтому сразу после вызова setState новое значение может быть недоступно. Это поведение зависит от режима выполнения и окружения.

Подробнее

Чем отличается передача значения и callback в setState?

Передача значения в setState напрямую подставляет новое состояние, а callback (функция-обновитель) вычисляет его на основе предыдущего. Callback гарантирует корректность при нескольких обновлениях подряд. Это особенно важно при асинхронных событиях и батчинге обновлений. В React hooks callback — это предпочтительный способ при зависимостях от старого состояния.

Подробнее

Почему значение state не обновляется сразу после setState?

setState в React работает асинхронно для оптимизации производительности. React группирует несколько вызовов setState в один пакет (batching) и обновляет состояние после завершения обработки всех событий. Поэтому сразу после вызова setState значение state остается старым. Чтобы получить актуальное состояние, используйте колбэк в setState или useEffect.
Подробнее

Почему лучше использовать callback-версию setState?

Callback-версия setState гарантирует, что вы работаете с самым актуальным состоянием компонента. React может группировать несколько вызовов setState в один, поэтому при использовании объекта состояние может устареть. Функция-колбэк получает предыдущее состояние и пропсы, что позволяет безопасно обновлять состояние на основе его предыдущего значения. Это особенно важно при множественных последовательных вызовах setState или при работе с асинхронными операциями.
Подробнее

Как работает батчинг обновлений состояния в React 18?

Как корректно сравнить два объекта по полям для предотвращения лишних вызовов setState?

Когда вызывается setState, создаётся ли новая ссылка на объект состояния?

  • Рейтинг:

    4

  • Сложность:

    5

Батчинг в React 18 — это автоматическая группировка нескольких вызовов setState в один повторный рендер. Ранее батчинг работал только внутри обработчиков событий React, а теперь он включен по умолчанию для всех обновлений, включая промисы, setTimeout и нативные события. Это повышает производительность, уменьшая количество лишних рендеров. Для отключения батчинга используется flushSync.
Подробнее
  • Рейтинг:

    4

  • Сложность:

    5

Для сравнения объектов по полям в React используется поверхностное сравнение (shallow comparison). Оно проверяет, изменились ли ссылки на поля объекта, а не их глубокое содержимое. Это реализовано в React.memo и shouldComponentUpdate. Чтобы сравнение работало корректно, объекты должны быть иммутабельными — при изменении создаётся новый объект. Такой подход предотвращает лишние вызовы setState и ререндеры.
Подробнее
  • Рейтинг:

    4

  • Сложность:

    3

Да, при вызове setState React создаёт новый объект состояния, объединяя текущее состояние с переданными данными. Это необходимо для корректного обнаружения изменений и перерисовки компонента. Старая ссылка на объект состояния заменяется новой, что гарантирует иммутабельность.
Подробнее
  • Рейтинг:

    2

  • Сложность:

    8

  • Рейтинг:

    5

  • Сложность:

    6

  • Рейтинг:

    5

  • Сложность:

    5

  • Рейтинг:

    5

  • Сложность:

    3

  • Рейтинг:

    4

  • Сложность:

    4