Проверяет знание необязательного второго аргумента React.memo — функции сравнения пропсов для оптимизации ререндеров.
React.memo — это компонент высшего порядка (HOC), который мемоизирует функциональный компонент. Он предотвращает повторный рендеринг, если пропсы не изменились. По умолчанию React.memo использует поверхностное сравнение пропсов (shallow comparison). Однако в некоторых случаях требуется кастомная логика сравнения — для этого и существует второй аргумент.
Второй аргумент — это функция, которая принимает два параметра: prevProps и nextProps. Она должна вернуть true, если пропсы считаются равными (ререндер не нужен), и false, если они разные (нужен ререндер). Если функция не передана, React.memo использует стандартное поверхностное сравнение.
const MyComponent = React.memo(
(props) => <div>{props.value}</div>,
(prevProps, nextProps) => {
// Кастомная логика сравнения
return prevProps.value === nextProps.value;
}
);Вывод: Второй аргумент React.memo — это функция areEqual для точного контроля над тем, когда компонент должен ререндериться. Используйте её, когда поверхностного сравнения недостаточно, например, при работе с вложенными объектами или массивами, чтобы избежать лишних ререндеров и улучшить производительность.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию