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

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы