Родитель передаёт callback через props, а ребёнок вызывает его с необходимыми данными; само состояние остаётся у владельца.
Есть дерево React-компонентов: как из дочернего компонента инициировать изменение состояния, которое находится в родительском компоненте?
Родитель передаёт callback через props, а ребёнок вызывает его с необходимыми данными; само состояние остаётся у владельца.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Родитель передаёт callback через props, а ребёнок вызывает его с необходимыми данными; само состояние остаётся у владельца.
Например, onSelect(id) в дочернем компоненте вызывает родительский setSelected(id). Для сложного дерева можно использовать context или согласованный store, но не стоит мутировать родительские props напрямую. Контракт события обычно лучше, чем передача всех внутренних деталей state.