javascript - 无法加载 currentUser

标签 javascript firebase firebase-authentication

当尝试检查用户是否通过 firebase.auth().currentUser 登录时,如下所示:

if (firebase.auth().currentUser === null) {
  console.log('User not signed in');
}

每当我刷新页面或在上面导航时,都会返回 null(即使我刚刚登录)。

奇怪的是,如果我登录

console.log(firebase.auth().currentUser) // This returns null
console.log(firebase.auth()) // Here I can inspect the object and currentUser exists...!

我真的不知道这是怎么回事。我正在使用 React 和 Redux,但我想说这并不重要。

Firebase 初始化时是否存在小延迟并且您无法访问 currentUser?如果是这样,我如何在 firebase.auth() 的日志输出中看到它?

最佳答案

这是一个常见问题。 https://firebase.google.com/docs/auth/web/manage-users 需要在onAuthStateChanged中添加一个观察者来检测初始状态和所有后续的状态变化,

firebase.auth().onAuthStateChanged(function(user) {
  if (user) {
    // User is signed in.
  } else {
    // No user is signed in.
  }
});

关于javascript - 无法加载 currentUser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37883981/

相关文章:

java - Firebase 数据库 - 检索深层嵌套数据

firebase - 可观察到的困惑

firebase - `firebase_tools.firestore .delete` 需要一个 token ,但该 token 从何而来?

javascript - ES6 中 String.prototype.includes/contains 的区别? .has 呢?

javascript - Firebase:如何获取和设置全局索引计数器?

android - 是否有 API 可以*更改* Firebase 远程配置值?

node.js - 如何使用 next.js 进行 firebase 身份验证

javascript - 如何从 Firebase Cloud Function 在 Google Pub/Sub 中发布消息?

javascript - Ditto.asByteBuffer(bytePayload) 抛出异常

javascript - ActiveX 多线程调用 javascript 回调例程时出现问题