Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про React: memoization

Как работает React.memo?

Вопрос проверяет понимание мемоизации компонентов и оптимизации перерендеров в React.

Короткий ответ

React.memo — это механизм мемоизации функциональных компонентов.
Он предотвращает перерендер, если props компонента не изменились.
Сравнение происходит по ссылкам.
Это помогает снизить количество лишних вычислений при рендеринге.

Длинный ответ

По умолчанию React перерендеривает компонент каждый раз, когда перерендеривается его родитель.

Определение

React.memo — это HOC, который запоминает результат рендера компонента и повторно использует его, если входные props не изменились.

Как работает сравнение

React:

  • сравнивает предыдущие и новые props

  • использует поверхностное сравнение

  • проверяет ссылки, а не содержимое объектов

const User = React.memo(function User({ name }) {
  return <span>{name}</span>;
});

Пользовательская функция сравнения

Можно передать свою функцию сравнения:

React.memo(Component, (prevProps, nextProps) => {
  return prevProps.id === nextProps.id;
});

Когда React.memo не помогает

Оптимизация не сработает, если:

  • в props передаются новые объекты или функции

  • родитель создаёт значения на каждом рендере

Когда использовать

React.memo полезен, если:

  • компонент часто перерендеривается

  • рендер дорогой

  • props редко меняются

Краткий вывод

React.memo снижает количество перерендеров за счёт мемоизации, но эффективен только при стабильных props.

Уровень

  • Рейтинг:

    5

  • Сложность:

    7

Навыки

  • React

    React

Ключевые слова

#memoization

Подпишись на React Developer в телеграм