2
我正在使用firebase處理我的應用程序中的身份驗證。 Firebase有一個監聽程序,可隨時在身份驗證狀態更改時執行回調。我在firebase的utils文件中有:設置變量返回回調監聽器
export default {
...
authChanged: (callback) =>{
return firebaseAuth.onAuthStateChanged(callback);
},
...
}
當用戶登錄/退出回調執行。我試圖用redux-saga來處理這個觀察者,每當firebase告訴我狀態發生變化時,就會向我的reducer發送一個事件。我遇到的問題是我無法確定如何監視該觀察者的動態返回值。現在我這樣做:
export function* loginState(){
Firebaseutils.authChanged(function(user){
if(user){
yield put({type: 'LOGGED_IN', user: {user.email, user.uid}})
}else{
yield put({type: 'LOGGED_OUT'})
}
});
}
我已經證實了的if/else條件語句工作(只是登錄時狀態更改爲控制檯),但我得到一個錯誤,如果我嘗試使用收益。這是一個錯誤,或者我違反了我不清楚的規則。任何其他方式來設置?從最佳實踐角度來看,這似乎真的需要由redux-sagas處理。
你想出了一個解決方案? – Lee