redux-sagas フレームワーク内から監視可能な firebase を活用しようとしていますが、ハックなしではこれを行うのに問題があります。ここに示すように、firebaseの「onAuthStateChange」関数を使用しようとしています
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.
} else {
// No user is signed in.
}
});
基本的に、オブザーバーは、ユーザーがサインインまたはサインアウトするたびに実行されます
私のfirebaseユーティリティファイルでは、私のメソッドは次のようになります:
authChanged: () =>{
return firebaseAuth.onAuthStateChanged(callback);
}
それから私の物語では、今のところ、オブザーバーが何かを観察するたびにコンソールにログインしようとしています:
export function* loginState(){
Firebaseutils.authChanged(function(user){
if(user){
console.log('User logged in!')
}else{
console.log('User logged out')
}
});
}
「コールバック」が定義されていないため、これは失敗します。私は本質的にオブザーバーをサガに渡すようにカレーしようとしていますが、うまくいきません。私の回避策は、完全な firebase auth オブジェクトをログイン/ログアウト サガに渡し、そこにオブザーバーを作成することです。それは機能しますが、ハックのようです。どんな助けでも大歓迎です。