Специализация
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 в телеграм
Что такое props drilling?
Prop drilling — это процесс передачи данных через несколько уровней компонентов, когда промежуточные компоненты не используют эти данные. Это может привести к усложнению структуры компонентов и затруднить управление состоянием приложения, так как каждое изменение требует обновления всех компонентов-посредников.
Что такое React Reconciliation (Этап согласования)?
React Reconciliation — это процесс, с помощью которого React обновляет интерфейс, определяя, какие изменения необходимо внести в виртуальный DOM и как это отразить на реальном DOM. Этот процесс включает сравнение старого и нового виртуального DOM, что позволяет React эффективно обновлять только те компоненты, которые изменились, а не перерисовывать всё приложение.
Вызывают ли изменения props ререндеры в React?
Да, изменение props всегда вызывает ререндер компонента (если только он не мемоизирован через React.memo или shouldComponentUpdate). Однако React не ререндерит дочерние компоненты, если их props не изменились.
Как минимизировать перерендеры компонента при изменении пропсов?
Используйте React.memo для мемоизации компонента.
Передавайте примитивные пропсы (числа, строки).
Для сложных объектов — useMemo/useCallback.
Почему примитивные пропсы эффективны для мемоизации?
Примитивы (строки, числа) сравниваются по значению, а объекты/массивы — по ссылке. Это делает проверку изменений быстрее.
Как работает memo при поверхностном сравнении пропсов?
По каким критериям React.memo решает, перерендеривать компонент или нет?
Рейтинг:
2
Сложность:
7
React.memo сравнивает пропсы попарно (prevProps ↔ nextProps) через Object.is. Если все пропсы равны — перерендера нет.
Рейтинг:
5
Сложность:
7
React.memo сравнивает пропсы текущего и предыдущего рендера. По умолчанию используется поверхностное сравнение. Если все пропсы считаются одинаковыми, компонент не перерендеривается. Если хотя бы один проп изменился, рендер происходит заново. Также можно передать собственную функцию сравнения.
Рейтинг:
4
Сложность:
3
Рейтинг:
5
Сложность:
9
Рейтинг:
3
Сложность:
4
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
7