gpt4 book ai didi

javascript - 如何在 React Native 中等待来自 firebase auth 的持久用户

转载 作者:行者123 更新时间:2023-12-04 13:01:25 25 4
gpt4 key购买 nike

我在我的 React Native App(通过 expo)中使用 firebase auth,身份验证通过观察者工作正常,包括持久用户:

import firebase from "firebase";

firebase.auth().onAuthStateChanged(user => {
if (user) {
this.props.setUser(user);
}
}).bind(this);

我显示登录/注册的登录屏幕,如果用户使用帐户登录,我将转发到主应用程序。应用程序启动后,加载持久用户时,onAuthStateChanged 方法需要一段时间才能触发,这导致我的应用程序在短时间内显示此登录屏幕,然后导航离开。 在正确确定身份验证状态之前,我希望有一个加载屏幕。

但是如果没有持久用户 onAuthStateChanged 永远不会触发,所以我没有要等待的特定事件。我可以使用超时计时器,但这似乎是一个糟糕的解决方案,因为必要的等待时间可能会因硬件和连接速度而有很大差异。

如何正确解决这个问题,即我怎么知道没有持久用户?

最佳答案

Firebase error block when user does not persist

var isLoading = true;

firebase.auth().onAuthStateChanged(user => {
if (user) {
isLoading = false;
this.props.setUser(user);
}
}, error => {
isLoading = false;
}
}).bind(this);

关于javascript - 如何在 React Native 中等待来自 firebase auth 的持久用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56104187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com