在使用React Native时,我有一些组件被推到彼此之上,其中一些组件会改变它们下面组件的状态,如下所示:
社交 - >群组 - >添加组
但是,当我运行navigator.pop()
以返回上一个组件时(例如,在向用户的帐户添加组后),下面的组件(在这种情况下,'群组')不会刷新最新状态。
我在这里做错了什么?
答案 0 :(得分:3)
原来我能够通过在'群组'上插入componentWillUpdate
来解决此问题。组件,也就是说,每当组件更新时,它都会触发loadGroupsData函数:
componentWillUpdate() {
this.loadGroupsData();
}
... loadGroupsData函数检查任何差异,如果存在任何差异,则加载:
loadGroupsData() {
api.getUserGroups(this.state.userId, (data) => {
data.forEach((group, index) => {
group.groupname = group.groupname;
});
if (this.state.dataSource._cachedRowCount === undefined || this.state.dataSource._cachedRowCount !== data.length) {
this.setState({
usersGroups: data.map(data => data.groupname),
dataSource: this.state.dataSource.cloneWithRows(data),
loaded: true,
});
}
});}