如何在运行navigator.pop()后刷新React状态?
在使用React Native时,我有几个组件相互重叠,其中一些组件会改变组件的状态,如下所示:
社交 - >群组 - >添加群组
但是,当我运行navigator.pop()
返回到以前的组件(例如,在向用户的帐户添加组之后),下面的组件(本例中为“组”)将不会刷新州。
我在这里做错了什么?
事实证明,我可以通过在'组' componentWillUpdate
上插入一个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,
});
}
});}
链接地址: http://www.djcxy.com/p/32495.html
上一篇: How do I refresh React state after running navigator.pop()?