Javascript 在加载我的路线之前,请等待onAuthStateChanged

Javascript 在加载我的路线之前,请等待onAuthStateChanged,javascript,reactjs,firebase-authentication,Javascript,Reactjs,Firebase Authentication,我正在尝试制作一个跟踪用户身份验证状态的模块。看起来是这样的: import FbApp from './firebase-app'; var AuthStatus = { LoggedIn: false, Username: null, Loaded: false }; const auth = FbApp.auth(); auth.onAuthStateChanged(firebaseUser => { if(firebaseUser){

我正在尝试制作一个跟踪用户身份验证状态的模块。看起来是这样的:

import FbApp from './firebase-app';
var AuthStatus = {
    LoggedIn: false,
    Username: null,
    Loaded: false
};

const auth = FbApp.auth();

auth.onAuthStateChanged(firebaseUser => {    
    if(firebaseUser){
        console.log("user authed!");
        AuthStatus.LoggedIn = true;
    }else{
        AuthStatus.LoggedIn = false;
    }
    if(!AuthStatus.Loaded){
        AuthStatus.Loaded = true;            
    }
});

export default AuthStatus;

我将
AuthStatus
导入到我的许多组件中,但唯一的问题是,在加载整个路由之前,它不会触发,因此在第一次加载页面时,它总是显示为
AuthStatus.LoggedIn=false
。在我开始导航到其他路由后,它可以正常工作,但只是第一页加载总是返回false,因为还没有触发
onAuthStateChanged
。我可以用什么方法解决这个问题?

如何处理react应用程序中的状态?雷杜?通量手工您是否使用react路由器处理路由


我认为你应该把你的
AuthStatus
放在你所在州的某个地方。然后您的组件应该基于此状态属性进行渲染(或不渲染)。

您将如何等待?