Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Почему Хук useMemo в React не используется для замены shouldComponentUpdate?
Хук useMemo используется для оптимизации производительности, запоминая результат вычисления и избегая его повторного выполнения при неизменных зависимостях. Однако он не предназначен для управления рендерингом компонентов, как это делает shouldComponentUpdate, который отвечает за решение о необходимости обновления компонента.
Отличие useMemo от useCallback.
useMemo и useCallback оба предназначены для оптимизации производительности в React, но служат разным целям. useMemo запоминает вычисленные значения, а useCallback запоминает функции. Это позволяет избежать лишних вычислений и создания функций при каждом рендере компонента.
Для чего используется memo в React?
React.memo — это функция высшего порядка, которая позволяет мемоизировать компоненты, предотвращая их повторный рендеринг, если их пропсы не изменились. Это может улучшить производительность, особенно в больших приложениях с множеством компонентов. Используйте React.memo, когда у вас есть компоненты, которые принимают неизменяемые пропсы и не зависят от глобального состояния.
Для чего нужны useMemo и useCallback? Как работает мемоизация?
useMemo: Кэширует результат вычислений, пересчитывая только при изменении зависимостей.
useCallback: Кэширует функцию, предотвращая её пересоздание.
Оба помогают избежать лишних ререндеров.
Как работает memo при поверхностном сравнении пропсов?
React.memo сравнивает пропсы попарно (prevProps ↔ nextProps) через Object.is. Если все пропсы равны — перерендера нет.
Как работает React.memo?
В чем разница между useMemo и useCallback?
По каким критериям React.memo решает, перерендеривать компонент или нет?
Какие есть издержки у чрезмерного использования useMemo и useCallback?
В чём отличие React.memo и PureComponent?
Рейтинг:
5
Сложность:
7
React.memo — это механизм мемоизации функциональных компонентов.
Он предотвращает перерендер, если props компонента не изменились.
Сравнение происходит по ссылкам.
Это помогает снизить количество лишних вычислений при рендеринге.
Рейтинг:
5
Сложность:
7
useMemo мемоизирует вычисляемое значение.useCallback мемоизирует функцию.
Оба хука зависят от массива зависимостей.
Они используются для оптимизации перерендеров.
Рейтинг:
5
Сложность:
7
React.memo сравнивает пропсы текущего и предыдущего рендера. По умолчанию используется поверхностное сравнение. Если все пропсы считаются одинаковыми, компонент не перерендеривается. Если хотя бы один проп изменился, рендер происходит заново. Также можно передать собственную функцию сравнения.
Рейтинг:
5
Сложность:
6
useMemo и useCallback сами по себе имеют стоимость. Они усложняют код и увеличивают когнитивную нагрузку. При неправильном использовании они не дают выигрыша в производительности. Иногда они даже замедляют приложение. Эти хуки нужно применять осознанно и точечно.
Рейтинг:
5
Сложность:
6
React.memo — это обёртка для функционального компонента, которая пропускает ререндер, если props не изменились. PureComponent — базовый класс для классового компонента, который делает то же самое, но ещё сравнивает state. В обоих случаях используется поверхностное сравнение (shallow compare). Если props или state меняются по ссылке, компонент будет считаться изменившимся.
Рейтинг:
5
Сложность:
7
Рейтинг:
5
Сложность:
7
Рейтинг:
5
Сложность:
6
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
7