В 2026 году React стал мощнее, умнее и сложнее. Появились Server Components, Actions, Streaming SSR — но рендеринг на клиенте всё ещё остаётся узким местом многих приложений. Особенно когда компоненты начинают мигать, лагать или «подвисать» при взаимодействии. Проблема не в React. Проблема — в том, как мы его используем. React обновляет UI путём сравнения нового и старого Virtual DOM. Если компонент получил новые props, state или его родитель обновился — он перерисовывается. Но! Ререндер != перерисовка в DOM.
React может вызвать функцию компонента сотню раз — и ни разу не тронуть реальный DOM, если результат идентичен. Когда это вызывает проблемы?
— Когда Child тяжёлый (рендерит таблицу из 1000 строк).
— Когда в Child создаются новые объекты/функции следовательно ломается мемоизация.
— Когда ререндеры вызывают каскадные обновления по всему дереву. Откройте React DevTools → Profiler. Запишите взаимодействие (например, фильтрация списка). Посмотрите: Сколько компонентов обновилось?
Ск