Глава 21. Производительность и оптимизация

Зачем эта глава

Если приложение начинает «тормозить», пользователь это сразу заметит. Здесь мы научимся выявлять и устранять лишние перерендеры.

Теория (коротко)

React перерисовывает компоненты при изменении state или props.

React.memo, useMemo, useCallback помогают избежать лишних вычислений.

JSX
const MemoCard = React.memo(function Card({ title }) {
  return <div>{title}</div>;
});
Подсказка: оптимизация нужна не всегда. Сначала измеряй, потом улучшай.

Задания

Задание: оптимизация списка

  • Оберни компонент списка в React.memo.
  • Используй useCallback для обработчиков.
  • Проверь, что лишние рендеры исчезли.

Практика для фриланса

Если заказчик жалуется на «тормоза», проси видео или список шагов воспроизведения, а затем измеряй и оптимизируй точечно.

Проверка себя

Ты понимаешь, как находить и уменьшать лишние перерисовки.

Мини-проект

Цель: оптимизировать таблицу из 100 элементов.

Требования: минимум перерисовок при кликах.

Критерий готовности: интерфейс реагирует мгновенно.

Словарь главы

Перерисовка (render)
Процесс обновления интерфейса.
memo
Мемоизация компонента.