React-компонент может быть перерендерен по нескольким причинам:
По каким причинам React-компонент может перерендериться?
React-компонент может быть перерендерен по нескольким причинам:
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
React-компонент может быть перерендерен по нескольким причинам:
- Изменение props — когда родительский компонент передаёт новые свойства.
- Изменение состояния (state) — вызов
setStateили обновление через хукиuseState. - Изменение контекста (Context) — если компонент подписан на контекст и он изменился.
- Принудительный ререндер — вызов
forceUpdate. - Изменение ключа (key) — если ключ компонента изменился, React размонтирует и смонтирует новый.
Также стоит учитывать, что React по умолчанию ререндерит компонент при изменении состояния или пропсов, даже если визуально ничего не изменилось. Для оптимизации можно использовать React.memo, PureComponent или хуки useMemo и useCallback.
Пример:
function MyComponent({ value }) {
const [count, setCount] = React.useState(0);
// Перерендер происходит при изменении value или count
return <div>{value} - {count}</div>;
}