如何导出传奇和组合?

时间:2018-04-23 10:56:03

标签: redux redux-saga

我正在尝试将sagas分成多个文件。

analytics.js

const logEvent = function* logEvent() {

  while (true) {
    const action = yield take(action_type.LOG_EVENT)

    let params = {
      ...action.payload.eventParams,
    }

    firebaseAnalytics.logEvent(
      action.payload.eventName,
      params
    )

  }
}


export const analyticsSagas = [
  logEvent
]

我正在尝试使用它来自另一个文件index.js

import { analyticsSagas } from 'analytics'

const rootSaga = function* rootSaga() {
  yield all([
    analyticsSagas,
  ])
}

但似乎并没有像传统行动一样运行传奇。

1 个答案:

答案 0 :(得分:0)

从analytics.js导出你的传奇函数,如下所示:

export function* logEvent() { 
  // your code here 
}

然后在index.js中,您可以导入它,然后使用yield *调用saga。

import { logEvent } from 'filePath/analytics.js';
export function* rootSaga() {
  yield* logEvent();
}