take(eventChannel) 采取所有行动而不是发出的结果
take(eventChannel) taking all the actions instead of the emitted result
我正在尝试使用 redux-saga 中的事件通道订阅 firebase onAuthStateChanged,我设法放置了一个显示状态的沙箱
https://codesandbox.io/s/42kwzv2324
sagas/sagas.js 中的第 71 和 72 行,我正在记录 take 的结果,我发现记录的是所有操作而不是用户从事件通道发出。
我做错了什么?我无法调试,因为未命中 onAuthStateChanged 回调中的日志。
沙箱中的主要问题是您错误地导入了 eventChannel。
变化:
import eventChannel from "redux-saga";
收件人:
import {eventChannel} from "redux-saga";
在您当前的代码中,您正在创建新的 saga 中间件而不是 eventChannel。 Saga中间件是一个函数,是take
支持的参数。由于 saga 中间件函数总是 returns 真值,因此 take
效果会为每个已分派的动作触发。
我正在尝试使用 redux-saga 中的事件通道订阅 firebase onAuthStateChanged,我设法放置了一个显示状态的沙箱
https://codesandbox.io/s/42kwzv2324
sagas/sagas.js 中的第 71 和 72 行,我正在记录 take 的结果,我发现记录的是所有操作而不是用户从事件通道发出。
我做错了什么?我无法调试,因为未命中 onAuthStateChanged 回调中的日志。
沙箱中的主要问题是您错误地导入了 eventChannel。
变化:
import eventChannel from "redux-saga";
收件人:
import {eventChannel} from "redux-saga";
在您当前的代码中,您正在创建新的 saga 中间件而不是 eventChannel。 Saga中间件是一个函数,是take
支持的参数。由于 saga 中间件函数总是 returns 真值,因此 take
效果会为每个已分派的动作触发。