【发布时间】:2017-01-23 00:30:57
【问题描述】:
我正在尝试从 redux-sagas 框架中利用可观察到的 firebase,但是如果没有 hack,我很难做到这一点。我正在尝试使用 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')
}
});
}
由于未定义“回调”而失败。我本质上是在试图让观察者传递给 sagas,但它不起作用。我的解决方法是将完整的 firebase auth 对象传递给我的登录/注销 saga,然后在其中创建观察者。这有效,但似乎是一个黑客。任何帮助将不胜感激。
【问题讨论】:
-
不应该
authChanged有callback作为参数?callback应该来自哪里?
标签: reactjs firebase firebase-authentication react-redux redux-saga