Reactjs 管理人员不';从父组件更新用户ID时,在子组件中不刷新

Reactjs 管理人员不';从父组件更新用户ID时,在子组件中不刷新,reactjs,microsoft-graph-toolkit,Reactjs,Microsoft Graph Toolkit,我有一个React组件,它既有mgt-people又有mgt-people-picker,它从父组件获取道具。我们的想法是通过从mgt people picker中选择人员来更新mgt people,但它不起作用。它只是在{props.users}中进行了更新,所以我认为这可能是一个mgt组件问题?我还尝试在子组件中将用户设置为本地状态,但也没有成功 我的简化代码如下。所有用户变量的类型均为字符串[] 家长: function updateUsers(newUsers) { setSta

我有一个React组件,它既有
mgt-people
又有
mgt-people-picker
,它从父组件获取道具。我们的想法是通过从
mgt people picker
中选择人员来更新
mgt people
,但它不起作用。它只是在
{props.users}
中进行了更新,所以我认为这可能是一个mgt组件问题?我还尝试在子组件中将
用户
设置为本地状态,但也没有成功

我的简化代码如下。所有
用户
变量的类型均为
字符串[]

家长:

function updateUsers(newUsers) {
    setState({ users: newUsers });
}

render:
<ChildComponent users={this.state.users} updateUsers={this.updateUsers} />
函数更新用户(新用户){
setState({users:newUsers});
}
提供:
儿童:

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>
函数updateUsers(){
道具更新者(新人);
}
peoplePicker.addEventListener('selectionChanged',updateUsers);
peoplePicker.SelectUsersByd(props.users);
提供:
{props.users}

为了解决这个问题,最近Microsoft Graph Toolkit 1.2版解决了这个问题。当用户id属性更改时,人员组件现在将更新

用户id
接收字符串id(['id','id'))数组,因此我认为这不起作用。您可以尝试将
people
属性设置为props.users吗。您需要在
componentDidMount
事件中设置它,并引用
mgt people
组件?嗨,尼古拉,我确实传递了用户ID数组。没有为了简单而指定它。我尝试使用ref设置userid,但它仍然没有随着新用户更新。我检查了元素html,
mgt people
userid
属性实际上得到了更新,而没有更新的是
#shadow root
。有解决办法吗?很抱歉耽误了你的回复。我能够验证这是工具包中的一个bug,并且打开了一个问题。应该在下一个版本中修复。也就是说,我将在这里使用
mgt people.people
属性而不是
user id
属性来优化您的解决方案-这应该可以正常工作。我之所以推荐
people
属性,是因为这样
mgt people
组件就不必对图形进行额外调用。