即使从后端服务器返回用户对象,应用程序中的用户对象仍为空

时间:2019-04-08 05:57:18

标签: react-native

这是我的react本机应用程序中的_onPress。此功能的目的是在用户单击项目后检索用户对象并将其传递给下一个组件。 async/await用于_getUser中的数据库检索。我可以看到服务器上的用户对象,但是myself什么也没有收到,并且为空。我不确定myself为空。应该在构造函数中调用_getUser吗?

async _onPress(id) {
      let myself = await _getUser();
      if (!myself) console.log("_getUser return nothing in Chat!"); 
      this.props.navigation.navigate("Chat", {eventId: id, user: myself});
    }

1 个答案:

答案 0 :(得分:1)

由于_getUser()返回诺言,并且可能直接从ToucableOpacity或某些触摸响应器按钮调用_onPress,因此您可以解析诺言,然后采取必要的操作,如:

_onPress(id) {
  _getUser()
    .then((data) => {
      if (!data) {
        console.log("_getUser return nothing in Chat!");
        return
      }
      this.props.navigation.navigate("Chat", { eventId: id, user: data });
    })
    .catch(err => { console.log(err) })
}