2017-07-28 6 views
0

Wenn sich der Benutzer erfolgreich anmeldet, werde ich auf meine Hauptseite weitergeleitet (die ich möchte), aber es wird ständig aktualisiert. Irgendeine Idee, was der Grund sein könnte?Auth firebase onAuthStateChange

Code:

firebaseApp.auth().onAuthStateChanged(user => { 

    if(user){ 
     console.log('user is signed in', user); 
     window.location='/'; 

    }else{ 
     console.log('user is NOT signed in'); 

    } 
}) 
+0

Was meinst du damit die ganze Zeit erfrischend? – UmarZaii

+0

Es ist so seltsam, der Browser aktualisiert die Seite ständig ... es wird wie window.location = '/' immer alle halbe Sekunde aufgerufen –

Antwort

0

Eine Vermutung; könnte sein, weil der Code erneut ausgeführt wird, nachdem die Seite geladen wurde und weiter leitet? Wenn dies der Fall ist, können Sie einen if-Code einfügen oder sicherstellen, dass der Code nur auf der Anmeldeseite eingebettet ist.

firebaseApp.auth().onAuthStateChanged(user => { 

if(user){ 
    console.log('user is signed in', user); 
    if(window.location.href != "/"){ 
     window.location='/'; 
    } 

}else{ 
    console.log('user is NOT signed in'); 

} 

}) 
+0

Ja, das war mein Gedanke, aber was würde ich in die if-Anweisung schreiben? –

+0

logIn() {
console.log ('this.STATE:', this.state); const {email, passwort} = this.state; firebaseApp.auth(). SignInWithEmailAndPassword (E-Mail, Passwort) .catch (error => { this.setState ({error}) // TODO Funktionalität für Umleitung/app wenn anmelden Erfolg, bleiben auf Login ausgefallener }) dann (function() {if (firebaseApp) { window.location = '/'; }. else { window.location = '/ signin' } }) } –

+0

Wenn ich jedoch 5 Felder vor meinen Code lege, wird er es als Code erkennen ... wie kann ich t machen? Hat das in einem Kommentar passiert? thx im voraus –