当我将鼠标悬停在onAuthStateChanged
上时,会显示以下内容:
(method) firebase.auth.Auth.onAuthStateChanged(nextOrObserver: firebase.Observer<any, any> | ((a: firebase.User) => any), error?: (a: firebase.auth.Error) => any, completed?: firebase.Unsubscribe): firebase.Unsubscribe
如果我user: firebase.User
firebase.auth().onAuthStateChanged((user) => {
console.log("data from stateChanged: ", user);
})
但是当我尝试访问用户的属性,即user.uid时,我得到的错误基本上是说无法访问。那么这里的返回类型到底是什么以及如何访问它?
答案 0 :(得分:1)
onAuthStateChanged
会返回firebase.User
或null
。在访问它的属性之前,你需要对它进行无效保护,并且可能会在Typescript中强制转换为firebase.User
。
如果您正在使用Angular,我建议您使用AngularFire2及其AngularFireAuth模块;我们对其中一些API问题进行了平滑处理,并将回调包装在RxJS Observables中。