Redux。如何使用redux-saga在sagaMiddleWare.run([f1 *(),f2 *(),f3 *()])中运行多个sagas?

时间:2018-06-19 12:32:01

标签: redux react-redux redux-saga

我需要在不同时间点启动多个sagas的解决方案。我创建了3个不同的传奇,并尝试将它们像数组一样实现到sagaMiddleWare.run()。但是现在我得到一个错误-runSaga(storeInterface, saga, ...args): saga argument must be a Generator function!

我了解为什么会发生此错误,但不知道如何解决?

谢谢!

sagaMiddleWare.run([watchSearchForCash, watchBootlegging, watchGraffiti])

1 个答案:

答案 0 :(得分:2)

您可以通过将所有sagas组合成一个包裹起来的(例如rootSaga

function * rootSaga() {
  yield [
    watchSearchForCash, 
    watchBootlegging, 
    watchGraffiti
  ]
}

,然后在rootSaga内实现新的传奇人物sagaMiddleWare.run(rootSaga)

这就是魔术:)