Код из firebase 3 docs https://firebase.google.com/docs/auth/web/manage-users#get_the_currently_signed-in_user
firebase.auth().onAuthStateChanged(function(user){
if (user) {
// If there a user take him to the home page.
this.rootPage = HomePage;
} else {
// If there no user logged in send him to the LoginPage
this.rootPage = LoginPage;
}
});
Как user
параметр установлен в наблюдателе и как этот код отличается от этого ниже?
Код из учебника @http://javebratt.com/firebase-3-email-auth/
firebase.auth().onAuthStateChanged((user) => {
if (user) {
// If there a user take him to the home page.
this.rootPage = HomePage;
} else {
// If there no user logged in send him to the LoginPage
this.rootPage = LoginPage;
}
});
Причина, по которой я спрашиваю, заключается в том, что я просматриваю учебник по ионным 2 и firebase 3, а firebase.auth().onAuthStateChanged()
явно отличается от того, что находится в официальных документах для firebase 3
2 аналогичны тем, что первая использует функцию обратного вызова, а вторая - функцию стрелки. Например: они одинаковы (например):
var a = a.map(function(s){ return s.length });
var b = a.map( s => s.length );
Когда пользователь аутентифицируется с помощью firebase3, он передает некоторые данные обратно в функцию обратного вызова или стрелки. Эти данные доступны в пользовательской переменной в вашем примере. Вы можете сделать console.log (пользователь), чтобы увидеть, какие объекты передаются (например, идентификатор аутентификации, поставщик, электронная почта...).
Надеюсь, это указывает на то, что вы в правильном направлении.
Пользовательский параметр задается с помощью var user = rootRef.getAuth();
Вот как я его использовал.
var rootRef = new Firebase('https://yourapp.firebaseio.com');
// Check the current user login status and redirect if not logged in
var user = rootRef.getAuth();
if (user) {
var user = rootRef.getAuth();
var userRef = rootRef.child('users').child(user.uid);
... do something with the logged in user...
}
Надеюсь это поможет.