Вопрос нужен, чтобы оценить, понимает ли кандидат, как React распространяет обновления по дереву компонентов.
При изменении state родителя React повторно вызывает его render-функцию. Все дочерние компоненты также перерисовываются, потому что React не знает, изменились ли их данные. Это базовое поведение React. Оптимизация возможна через мемоизацию.
Ререндер в React — это не обновление DOM, а повторный расчёт UI.
Когда меняется state:
React вызывает render родителя
Создаётся новое виртуальное дерево
Дочерние компоненты вызываются заново
Это происходит даже если их props остались прежними.
простая и предсказуемая модель
отсутствие глубоких сравнений по умолчанию
высокая скорость диффинга
React.memo для функциональных компонентов
PureComponent для классов
разделение state
вынос неизменяемых частей дерева
Ререндер дочерних компонентов — это нормальное поведение React. Оптимизация достигается не запретами, а правильным разделением состояния и мемоизацией.