反应本机刷新数据

金福克斯

当用户重新访问屏幕时,我正在尝试刷新一些数据。我使用其他地方的方式,它的工作原理。但无法弄清楚为什么它不会在此屏幕上显示?

componentDidMount = () => {
  this.props.navigation.addListener('didFocus', this.handleDidFocus)
}
async handleDidFocus()  {
  ...
}

这是我第一次加载数据并希望在用户再次访问时再次加载数据的方式。

componentWillMount() {
  this.getGroupAccepted();
}

async getGroupAccepted() {
  if (this.state.token == null) {
    var token =  await AsyncStorage.getItem("token");
    this.setState({ "token": token });
  }

  fetch('https://.../api/group/getActive', {
    method: 'POST',
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      token: this.state.token
    })
  })
  .then(response => response.json())
  .then((data) => {
    this.setState({
      groups_accepted: data.groups_active,
      loading: false,
    });
  })
    .catch((error) => {
      console.error(error);
    });
}
金福克斯

这是有效的。现在,当用户重新访问屏幕时,它将再次加载数据。

componentDidMount = () => {
  this.props.navigation.addListener('didFocus', this._handleDataChange)
}

_handleDataChange = () => {
  this.getGroupAccepted();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章