Встречается на собеседованиях • сегодня

Как оптимизировать перерендер компонентов

Оптимизация перерендеров в React достигается несколькими способами:

  1. React.memo – для мемоизации функциональных компонентов:
jsx
const MyComponent = React.memo(function MyComponent(props) {
  /* рендер с использованием props */
});
  1. useMemo/useCallback – для мемоизации значений и функций:
jsx
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
const memoizedCallback = useCallback(() => { doSomething(a, b) }, [a, b]);
  1. shouldComponentUpdate (для классовых компонентов):
jsx
shouldComponentUpdate(nextProps, nextState) {
  return this.props.value !== nextProps.value;
}
  1. Разделение состояния – выносить состояние в ближайший общий родитель или использовать контекст/сторонние решения (Redux, MobX)

  2. Ключи в списках – всегда использовать стабильные уникальные key

  3. React DevTools Profiler – для анализа ненужных рендеров

Оптимизируйте только там, где это действительно нужно – лишние мемоизации могут ухудшить производительность.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы