在使用 React Native 时,我有一些组件被推到彼此之上,其中一些组件会改变它们下方组件的状态,如下所示:
社交 -> 群组 -> 添加群组
但是,当我运行 navigator.pop()
返回到上一个组件时(例如,在将组添加到用户帐户之后),下面的组件(在本例中,'组') 不会刷新为最新状态。
我在这里做错了什么?
最佳答案
事实证明,我能够通过在“Groups”组件上插入一个 componentWillUpdate
来解决这个问题,也就是说,每当 Groups 组件更新时,它都会触发一个 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,
});
}
});}
关于javascript - 运行 navigator.pop() 后如何刷新 React 状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35787751/