我正在尝试将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,
])
}
但似乎并没有像传统行动一样运行传奇。
答案 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();
}