Логотип 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


Что такое React Reconciliation (Этап согласования)?

Что произойдет с дочерним компонентом, если поменяется key у родительского компонента?

Зачем нужен атрибут key при рендеринге списков в React?

Как влияет key на процесс reconciliation?

Как именно React определяет, какие узлы дерева нужно обновить? Есть ли у React конкретный алгоритм сравнения?

  • Рейтинг:

    5

  • Сложность:

    9

React Reconciliation — это процесс, с помощью которого React обновляет интерфейс, определяя, какие изменения необходимо внести в виртуальный DOM и как это отразить на реальном DOM. Этот процесс включает сравнение старого и нового виртуального DOM, что позволяет React эффективно обновлять только те компоненты, которые изменились, а не перерисовывать всё приложение.

Подробнее
  • Рейтинг:

    4

  • Сложность:

    6

При изменении key у родительского компонента React интерпретирует это как то, что это совершенно новый компонент. Старый экземпляр компонента и все его дочерние элементы будут полностью размонтированы (вызовутся функции очистки в useEffect), а затем будет смонтирован совершенно новый экземпляр с чистым состоянием. Это мощный инструмент для принудительного сброса состояния компонента.

Подробнее
  • Рейтинг:

    5

  • Сложность:

    5

Атрибут key помогает React определять, какие элементы списка изменились, добавились или удалились. Это ускоряет обновление интерфейса. Без key React может неправильно сопоставить элементы. Обычно используют уникальный идентификатор.

Подробнее
  • Рейтинг:

    4

  • Сложность:

    5

Атрибут key помогает React идентифицировать элементы в списке при обновлении. Без key React будет пересоздавать все элементы, что снижает производительность. С уникальным key React может точно определить, какие элементы изменились, добавились или удалились, и обновить только их. Это делает процесс reconciliation более эффективным.
Подробнее
  • Рейтинг:

    5

  • Сложность:

    6

React использует алгоритм сравнения (diffing), основанный на двух предположениях: элементы разных типов создают разные деревья, а ключи (keys) помогают сопоставлять элементы в списках. При обновлении React сравнивает виртуальные DOM-деревья, начиная с корня. Если тип элемента изменился, React пересоздает всё поддерево. Если тип совпадает, React обновляет атрибуты и рекурсивно обрабатывает дочерние элементы. Ключи позволяют эффективно обновлять списки, минимизируя перерисовку.
Подробнее