Выбор ответа Junior Рендер и reconciliation спрашивают часто обновлено

Рендерится ли ребёнок без новых props

Вопрос

Родитель Page меняет свой state. Что произойдёт с <Footer />, которому не передаются props и который не обёрнут в memo?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Footer отрендерится заново вместе с родителем. По умолчанию рендер родителя вызывает рендер всех детей, независимо от props.

Варианты ответа

  1. Footer отрендерится заново вместе с родителемправильный ответ
  2. Ничего: у Footer нет props, React его пропустит
  3. Footer размонтируется и смонтируется заново
  4. Footer отрендерится, только если в нём есть useState

Разбор

По умолчанию рендер родителя вызывает рендер всех детей, независимо от props. Пропустить ребёнка React может только для memo-компонента с неизменными props (или если элемент тот же самый объект). Размонтирования нет: тип и позиция те же, state сохраняется. Наличие useState в ребёнке на это не влияет.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.