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