Перейти к содержимому

Оптимизация в React: как и когда использовать memo, useCallback и useMemo

Александр Ламков — Friendly Frontend

0:00 / 0:00

Оптимизация в React: как и когда использовать memo, useCallback и useMemo

8 700 просмотров · 9 месяцев назад
Александр Ламков — Friendly Frontend
58 тыс. подписчиков
8 700 просмотров · 9 месяцев назад
Хостинговый и облачный провайдер SpaceWeb. Облачные серверы, готовые решения для разработки, DBaaS, S3-хранилище и Kubernetes — готовая инфраструктура для ваших проектов. 👉 https://sweb.ru/cloud/?utm_source=you... ⚡ Получить весь курс (22 урока) сразу: https://boosty.to/friendly-frontend/p... ✏️ Оптимизируем производительность To Do List. Разберём, какие компоненты стоит оборачивать в React.memo, а какие — нет. Покажу, как стабилизировать функции onDeleteAllButtonClick, deleteTask, toggleTaskComplete и addTask с помощью useCallback, чтобы избежать лишних перерендеров. Объясню, когда в массиве зависимостей useCallback действительно нужен tasks, а когда можно обойтись prevState. Мемоизируем отфильтрованный список задач и количество выполненных с помощью useMemo. Разберёмся, как работает мемоизация на практике и почему в простых компонентах вроде NewTaskForm и SearchTaskForm React.memo не обязателен. ❤️ Ранний доступ к видео и доступ к закрытому чату: https://boosty.to/friendly-frontend 🔴 Timeline: ▶ 00:00 | Введение ▶ 00:29 | Что такое ререндер в React ▶ 01:29 | Проблема перерисовок ▶ 05:45 | React.memo ▶ 07:25 | useCallback ▶ 10:35 | useMemo ▶ 15:14 | Оптимизация оставшихся частей приложения ▶ 19:16 | Заключение 📚 Ссылки из видео: ➖ Код на конец урока: https://github.com/aleksanderlamkov/t... 🧑‍💻 Основной телеграм-канал: https://t.me/AleksanderLamkov 💬 Коммьюнити-чат в телеграме (помощь новичкам): https://t.me/FriendlyFrontend 🗂️ Бесплатные курсы на канале: 🟠 HTML:    • HTML курс 2025   🔵 CSS:    • CSS курс 2025   🟡 JS:    • JavaScript курс 2025   🟢 A11y:    • Accessibility курс 2025   🗺 Frontend Roadmap:    • Frontend Roadmap 2024 | Что должен учить ф...   ⚪️ Мастер-класс по верстке для новичков:    • Адаптивная верстка сайта с нуля для начина...   🔘 Мастер-класс по верстке для продвинутых (БЭМ, SCSS):    • Вёрстка сайта с 0 до результата | HTML, БЭ...   ⚫️ Мастер-класс по верстке с практикой по JavaScript:    • Вёрстка сайта с нуля • HTML, SCSS, JS прак...   🔴 Мастер-класс по верстке на стеке JSX, SCSS, JS, Vite, Minista (SSG), БЭМ: https://stepik.org/a/228315 📌 Автор: ➖ Личный сайт: https://aleksanderlamkov.ru/ ➖ Telegram: https://t.me/AleksanderLamkov ➖ Boosty: https://boosty.to/friendly-frontend ➖ GetMentor: https://getmentor.dev/mentor/aleksand... ➖ Stepik (платные курсы и мастер-классы): https://stepik.org/a/228315 #frontend #фронтенд #react #reactjs