属性 'currentUser' 在类型 'FirebaseAuthState' 上不存在

Property 'currentUser' does not exist on type 'FirebaseAuthState'

试图在 angularfire2 中获取 currentUser。什么类型暴露了这个?

https://firebase.google.com/docs/reference/js/firebase.auth.Auth

探索这个可观察对象对我来说并不明显:

constructor(private auth: FirebaseAuth) {
  auth.subscribe((user) => console.log('user is', user));    
}

我从 FirebaseAuth 可观察对象收到的 user 对象包含以下属性:

  • provider
  • uid
  • auth

最后一个 - auth - 是 currentUser。如果您查看 source,您可以看到 auth 属性 是一个 Firebase User

您可以使用 instanceof 验证这一点:

constructor(private auth: FirebaseAuth) {
    auth.subscribe(
        (user) => {
            if (user) {
                console.log('user.auth is a User instance = ' + (currentUser instanceof firebase.User));
                let currentUser = user.auth;
                // ...
            } else {
                console.log('no user signed in');
            }
        }
    );
}