У меня есть компонент React, который имеет mgt-people
и mgt-people-picker
, который берет реквизит от его родительского компонента. Идея состоит в том, чтобы обновить mgt-people
, выбрав людей из mgt-people-picker
, но это не работает. Он обновился просто <div>{props.users}</div>
, так что я думаю, что это может быть проблема с компонентом mgt? Я также попытался сделать users
локальным состоянием в дочернем компоненте, но он также не работал.
Мой упрощенный код такой, как показано ниже. Все переменные users
имеют тип string[]
parent:
function updateUsers(newUsers) {
setState({ users: newUsers });
}
render:
<ChildComponent users={this.state.users} updateUsers={this.updateUsers} />
child:
function updateUsers() {
props.updateUsers(newPeople);
}
peoplePicker.addEventListener('selectionChanged', updateUsers);
peoplePicker.selectUsersById(props.users);
render:
<div>{props.users}</div>
<mgt-people user-ids={props.users}></mgt-people>
<mgt-people-picker></mgt-people-picker>