получить пользователя как ноль в firebase auth - PullRequest
0 голосов
/ 23 февраля 2020

Я пытаюсь прослушать изменения в документе, но получаю эту ошибку

Uncaught TypeError: Cannot read property 'uid' of null

это мой javascript код

var user = auth.currentUser;
db.collection('user-intro').doc(user.uid).onSnapshot(function(doc){
    console.log(doc.data());
})

, где я ошибаюсь

Ответы [ 2 ]

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

Ваш auth.currentUser получает пользователя до того, как пользователь вошел в систему.

Это обычно происходит, если пользователь только что вошел в систему или вы обновили sh страницу. Хотя Firebase восстанавливает состояние аутентификации при перезагрузке страницы, это занимает немного времени, так как необходимо проверить учетные данные на сервере.

Чтобы убедиться, что код выполняется только после восстановления состояния аутентификации, вы ' захочу обернуть его в обработчик onAuthStateChanged:

firebase.auth().onAuthStateChange(function(user) {
  if (user) {
    db.collection('user-intro').doc(user.uid).onSnapshot(function(doc){
      console.log(doc.data());
    })
  }
})
0 голосов
/ 23 февраля 2020

auth.currentUser - ноль. Это означает, что ни один пользователь не вошел в систему в тот момент, когда вы его назвали. Вам нужно проверить этот случай, прежде чем использовать переменную user, которой вы ее присвоили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...