gpt4 book ai didi

javascript - 运行 navigator.pop() 后如何刷新 React 状态?

转载 作者:可可西里 更新时间:2023-11-01 03:32:47 26 4
gpt4 key购买 nike

在使用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com