Глава 21. Производительность и оптимизация
Зачем эта глава
Если приложение начинает «тормозить», пользователь это сразу заметит. Здесь мы научимся выявлять и устранять лишние перерендеры.
Теория (коротко)
React перерисовывает компоненты при изменении state или props.
React.memo, useMemo, useCallback помогают избежать лишних вычислений.
const MemoCard = React.memo(function Card({ title }) {
return <div>{title}</div>;
});
Подсказка: оптимизация нужна не всегда. Сначала измеряй, потом улучшай.
Задания
Задание: оптимизация списка
- Оберни компонент списка в React.memo.
- Используй useCallback для обработчиков.
- Проверь, что лишние рендеры исчезли.
Практика для фриланса
Если заказчик жалуется на «тормоза», проси видео или список шагов воспроизведения, а затем измеряй и оптимизируй точечно.
Проверка себя
Ты понимаешь, как находить и уменьшать лишние перерисовки.
Мини-проект
Цель: оптимизировать таблицу из 100 элементов.
Требования: минимум перерисовок при кликах.
Критерий готовности: интерфейс реагирует мгновенно.
Словарь главы
- Перерисовка (render)
- Процесс обновления интерфейса.
- memo
- Мемоизация компонента.