gpt4 book ai didi

javascript - react native : Accessing values in returned object: undefined

转载 作者:行者123 更新时间:2023-12-03 04:52:03 25 4
gpt4 key购买 nike

我遇到了一个我显然愚蠢到无法解决的问题。我已经尝试解决这个问题很长时间了,但似乎没有解决。

我使用以下函数从 firebase 获取数据:

export function fetchUserData(userID) {
database.ref('users/' + userID).once('value').then(function(snapshot) {
if (!snapshot) {
console.log('An error occured');
} else {
let user = {
first_name: snapshot.val().first_name,
last_name: snapshot.val().last_name,
}
console.log(user);
return user
}
})
}

该函数返回一个对象,我试图在组件安装时将其设置为状态:

componentWillMount() {
this.setState({
userData: fetchUserData('10212667682706511')
})
}

如果我在安装组件时尝试将 userData 记录到控制台,则会得到未定义的结果,尽管从 fetchUserData 函数记录用户,但我得到了对象:

enter image description here

我假设当我调用fetchUserData并尝试将其存储在状态中时有些东西丢失了,但我根本不知道如何修复它,因此我们将不胜感激。

最佳答案

这里的问题是您的函数 fetchUserData 不返回任何内容

您的代码return user从回调函数(then()的参数)返回user

对此的一种解决方案是在回调函数中处理数据:

export function fetchUserData(userID) {
database.ref('users/' + userID).once('value').then(function(snapshot) {
if (!snapshot) {
console.log('An error occured');
} else {
// Handle snapshot data here
}
})
}

关于javascript - react native : Accessing values in returned object: undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42610709/

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