2017-07-28 13 views
0

ユーザーが正常にログインすると、メインページ(私が望む)にリダイレクトされますが、いつもリフレッシュし続けます。どのような理由が考えられますか?Auth firebase onAuthStateChange

コード:

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

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

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

    } 
}) 
+0

いつもリフレッシュしているとはどういう意味ですか? – UmarZaii

+0

その奇妙な、ブラウザはページをリフレッシュし続ける...そのようなwindow.location = '/'は毎秒半分ずつ呼び出され続ける –

答えて

0

推測。ページが読み込まれてリダイレクトされた後にコードが再度実行されるためですその場合、ifをラップするか、コードがログインページに埋め込まれていることを確認してください。

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

はい、それは私の考えでしたが、if文に何を入れますか? –

+0

logIn(){
console.log( 'this.STATE:'、this.state); const {email、password} = this.state; firebaseApp.auth()。signInWithEmailAndPassword(電子メール、 パスワード).catch(エラー=> { this.setState({エラー})/アプリ際、ログイン成功へのリダイレクト用 // TODO機能、ログイン時に 滞在失敗 })を(関数(){IF(firebaseApp){ window.locationの= '/'; }。他{ window.locationの= '/サインイン' }}) } –

+0

私は私のコードの前に5スペースを置く場合は、コードとして認識されます...私はどのようにすることができます帽子はコメントの中で起こる? thx事前に –

関連する問題