reactjs - Firebase 和 React - 检查用户身份验证状态

标签 reactjs firebase firebase-authentication mobx mobx-react

我正在开发基于react+mobx的应用程序,并使用firebase作为后端。 目前在应用程序启动时我需要检查用户是否登录。 我正在使用 firebase.auth().onAuthStateChange 监听器执行此操作,但因为它是异步函数 - 第一个响应始终为空。 所以我当前的解决方案是显示一些加载消息并将带有状态检查的 setInterval 函数放在 componentWillMount lifehook 中。 问题是 - 有没有更优雅的解决方案来解决这个问题?

最佳答案

在调用 firebase.auth().onAuthStateChange 之前,将您的状态修改为:state.authenticatedUser: 'pending'。让您的观察者在调用后将该状态更改为真实用户信息。

让您的组件在渲染时考虑 state.authenticatedUser 并渲染“待验证”或“验证用户”

关于reactjs - Firebase 和 React - 检查用户身份验证状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44863657/

相关文章:

java - 我应该如何获取文档字段并在另一个集合的另一个 map 中使用它们?

java - 如何将多种类型的用户重定向到各自的Activity?

reactjs - 当映射到 React 中的对象数组时,所有模态都会立即打开

reactjs - 使用react.js循环状态数据

java - 如何在 Firebase 中将数据从一个表复制到另一个表?

java - Firebase 自动删除记录

ios - swift4 Firebase UI 身份验证不适用于 twitter

firebase - 这是检查用户是否登录的正确方法吗? flutter 火力

reactjs - 如何使用 Webpack 在摩纳哥加载 npm 模块类型定义并使用react create-react-app

reactjs - Dom 包含或比较 React 中的文档位置模拟