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

В каких случаях перерисовывается компонент

Компонент перерисовывается (ререндерится) в следующих случаях:

  1. Изменение состояния (state): при вызове setState или useState
jsx
const [count, setCount] = useState(0);
// Вызов setCount вызовет ререндер
  1. Изменение пропсов (props): когда родитель передает новые пропсы
  1. Изменение контекста (context): если компонент подписан на контекст и его значение изменилось

  2. Принудительный ререндер: вызов forceUpdate() (в классовых компонентах) или хак с изменением ключа

  3. Ререндер родителя: если родительский компонент перерисовывается, все его дети тоже перерисуются (если не оптимизированы)

Для оптимизации можно использовать:

  • React.memo (для пропсов)
  • useMemo/useCallback (для мемоизации значений/функций)
  • shouldComponentUpdate (в классовых компонентах)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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