take (eventChannel) принимает все действия вместо испускаемого результата - PullRequest
0 голосов
/ 18 декабря 2018

Я пытаюсь подписаться на firebase onAuthStateChanged, используя канал событий в redux-saga, мне удалось поставить песочницу, показывающую статус

https://codesandbox.io/s/42kwzv2324

Строка № 71 и 72 в саге/sagas.js, я регистрирую результат take , я нахожу, что все действия регистрируются вместо пользователя, который излучается из канала событий.

Что я делаюнеправильно?Я не могу отладить, так как журнал внутри функции обратного вызова onAuthStateChanged не активирован.

1 Ответ

0 голосов
/ 19 декабря 2018

Основная проблема в вашей песочнице состоит в том, что вы неправильно импортируете eventChannel.

Изменение:

import eventChannel from "redux-saga";

В:

import {eventChannel} from "redux-saga";

В своем текущем коде высоздаем новое промежуточное программное обеспечение саги вместо eventChannel.Промежуточное программное обеспечение Saga - это функция, поддерживаемый параметр которой take.Поскольку функция промежуточного программного обеспечения saga всегда возвращает истинное значение, для каждого отправляемого действия срабатывает эффект take.

...