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

Какие знаешь способы оптимизации ререндера

  1. React.memo – мемоизация компонентов для предотвращения лишних ререндеров при одинаковых пропсах.
jsx
const MemoComponent = React.memo(Component);
  1. useMemo/useCallback – кеширование значений и функций, чтобы они не пересоздавались при каждом рендере.
jsx
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
const memoizedCallback = useCallback(() => doSomething(a, b), [a, b]);
  1. Разделение состояния – вынос изменяемого состояния в отдельные компоненты, чтобы не триггерить ререндер родителя.

  2. Virtualization (react-window, react-virtualized) – рендер только видимых элементов в больших списках.

  3. Оптимизация контекста – разбивка контекста на мелкие части или использование селекторов (например, use-context-selector).

  4. Избегать инлайн-объектов/функций – они создаются заново при каждом рендере, что может вызывать ререндеры дочерних компонентов.

  5. shouldComponentUpdate/PureComponent – ручной контроль ререндеров в классовых компонентах.

  6. Оптимизация анимаций – использование CSS-анимаций или React Spring вместо JS-анимаций.

  7. Debounce/Throttle – для событий, которые часто триггерят ререндер (например, скролл, resize).

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

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

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

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