我正在尝试从Firebase实时数据库中获取当前已签名用户的 图像和名称 。我想将这两个项目放在抽屉标题中。 enter image description here您可以看到所附的屏幕截图。
这是当前用户的数据。我想根据当前登录的用户获取数据
答案 0 :(得分:1)
如果您使用firebase登录,则可以获得currentUser.uid
。
尝试我的代码,
firebase
.database()
.ref('Users/' + firebase.auth().currentUser.uid)
.once('value')
.then(snapshot => {
console.log(snapshot.val()) <--will print the user data
});
希望这对您有用。
答案 1 :(得分:1)
尝试创建一个异步函数,这样您就可以使用UID从任何用户那里检索数据,如下所示:
export async function getUserByUID(UID) {
return await firebase.database().ref(`Users/${UID}`).once('value');
}
稍后,您只需传递UID并获取任何用户的数据:
const getMyData = async () => {
let UID = firebase.auth().currentUser.uid;
let userData = await getUserDataByUID(UID);
// this will be null if there's no user data
// all users' data will be in userData for example:
console.log(userData.image) // will log the image url you saved.
}
顺便说一句,不要忘记您的Firebase数据库规则!您最后想要看到的就是其他人看到的密码!
答案 2 :(得分:0)
检查以下代码
firebase.database().ref(`Users/${firebase.auth().currentUser.uid}`).once('value', function (snapshot) {
console.log(snapshot.val())
});