Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Можете объяснить концепцию Virtual DOM в React?
Virtual DOM — это абстракция реального DOM, которая используется React для улучшения производительности. Вместо того чтобы обновлять реальный DOM напрямую при каждом изменении состояния, React сначала обновляет виртуальный DOM, а затем сравнивает его с предыдущей версией, чтобы минимизировать количество операций с реальным DOM. Этот процесс называется дифференциацией (reconciliation).
Пример:
React обновляет виртуальный DOM.
Он сравнивает его с предыдущим состоянием.
Изменяет только те части реального DOM, которые изменились.
Как Virtual DOM взаимодействует с реальным DOM?
Virtual DOM — это легковесное представление реального DOM в памяти. React сначала обновляет Virtual DOM, а затем сравнивает его с предыдущей версией. На основе этого сравнения вычисляется минимальный набор изменений для реального DOM. Это позволяет избежать лишних операций с DOM. В результате интерфейс обновляется быстрее и эффективнее.
По каким критериям React сравнивает элементы Virtual DOM?
React сравнивает элементы Virtual DOM по типу элемента и ключу. Если тип элемента отличается, React полностью пересоздаёт поддерево. Если тип совпадает, React обновляет только изменившиеся атрибуты. Для списков дополнительно учитывается key. Такой подход делает сравнение быстрым, но не идеальным.
Почему React требует одного корневого элемента?
React требует один корневой элемент, потому что каждый компонент должен возвращать одно дерево элементов. Это упрощает построение Virtual DOM и процесс сравнения изменений. Один корень делает структуру компонента предсказуемой. При необходимости можно использовать Fragment. Это ограничение связано с внутренней архитектурой React.
Почему не рекомендуется использовать index как key?
Использование index как key приводит к неправильному сопоставлению элементов при изменении массива. При добавлении, удалении или сортировке элементов Vue считает, что элементы просто «переехали». Это может ломать состояние компонентов, input-поля и анимации. Ошибки появляются не сразу, а при изменениях данных. Поэтому index допустим только для статичных списков.
Рейтинг:
2
Сложность:
2
Рейтинг:
5
Сложность:
6
Рейтинг:
4
Сложность:
7
Рейтинг:
4
Сложность:
3
Рейтинг:
5
Сложность:
6