React · Senior · Запитання 60 з 75

Чому <ExpensiveTree /> тут не перерендерюється за зміни стану ColorPicker?

function ColorPicker({ children }) {
  const [color, setColor] = useState("red");
  return <div style={{ color }}>{children}</div>;
}
// <ColorPicker><ExpensiveTree /></ColorPicker>

Пояснення

Передавання JSX через children («підняття контенту вгору») - оптимізація без memo: лише батько, що створив елемент, вирішує, коли він змінюється.

Де почитати

Помилка в запитанні

React · Senior · запитання 60

Перевірте себе

Пройдіть тест React · Senior: запитання й варіанти перемішуються, а наприкінці - розбір помилок.

Пройти цей тест