Как получить текущие данные пользователя из базы данных Firebase в реальном времени в React Native - PullRequest
0 голосов
/ 14 февраля 2020

Я пытаюсь получить изображение и имя текущего подписанного пользователя и имя из базы данных реального времени firebase , в которой его данные хранились при регистрации. Я хочу поместить эти два пункта в заголовок ящика. введите описание изображения здесь Вы можете увидеть прикрепленные скриншоты.

Вот текущий пользователь enter image description here

вот данные текущего пользователь. Я хочу получить эти данные на основе текущего пользователя, вошедшего в систему

enter image description here

Ответы [ 3 ]

0 голосов
/ 14 февраля 2020

вы можете получить currentUser.uid, если вы залогинены с помощью firebase.

попробуйте мой код,

firebase
      .database()
      .ref('Users/' + firebase.auth().currentUser.uid)
      .once('value')
      .then(snapshot => {
        console.log(snapshot.val()) <--will print the user data
      });

надеюсь, это сработает для вас.

0 голосов
/ 15 февраля 2020

Попробуйте создать асинхронную функцию c, чтобы вы могли получать данные от любого пользователя, используя только такой 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! Последнее, что вам нужно, это видеть эти пароли !!

0 голосов
/ 14 февраля 2020

проверьте следующий код

 firebase.database().ref(`Users/${firebase.auth().currentUser.uid}`).once('value', function (snapshot) {
        console.log(snapshot.val())
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...