这是我的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});
}
答案 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) })
}