我试图使用redux-saga中的eventchannel订阅firebase onAuthStateChanged,我设法放置一个显示状态的沙箱
https://codesandbox.io/s/42kwzv2324
sagas / sagas.js中的第71和72行,我记录了 take 的结果,发现所有的操作都被记录下来,而不是事件通道中发出的用户
我在做什么错?我无法调试,因为未击到 onAuthStateChanged 内的日志。
答案 0 :(得分:0)
沙箱中的主要问题是您错误地导入了eventChannel。
更改:
import eventChannel from "redux-saga";
收件人:
import {eventChannel} from "redux-saga";
在当前代码中,您正在创建新的传奇中间件而不是eventChannel。 Saga中间件是一个函数,它是take
的受支持参数。由于saga中间件函数始终返回真实值,因此take
效果会为每个分派的动作触发。