我正在开发基于app的react + mobx,后端使用firebase。 目前在应用程序启动时,我需要检查用户是否已登录。 我用firebase.auth()。onAuthStateChange监听器来做这件事,但因为它的异步功能 - 第一个响应总是为空。 所以我当前的解决方案是显示一些加载消息并将setInterval函数与componentWillMount生命周期中的状态检查放在一起。 问题是 - 这个问题还有更优雅的解决方案吗?
答案 0 :(得分:2)
在调用firebase.auth()。onAuthStateChange之前,请将状态修改为:state.authenticatedUser: 'pending'
。让您的观察者在调用该状态后将其更改为真实的用户信息。
在渲染时,让您的组件考虑state.authenticatedUser
并呈现"身份验证待定"或"验证用户"