在我的项目中,我们当前正在存储每个组件中特定于组件的saga中运行应用程序范围的saga,如下所示:
public componentDidMount() {
sagaMiddleware.run(componentSpecificSagas);
}
但这意味着使用sagas的组件始终将具有应用程序逻辑,即使它们可能是可重用的ui组件。
运行特定于组件的Sagas的最佳实践是什么?他们应该只在商店里跑步吗?它们是否应该在连接器中运行?
答案 0 :(得分:1)
进行由您的应用逻辑sagas组成的根级传奇:
function* rootSaga() {
yield spawn(saga1)
yield spawn(saga2)
// ...
}
在根组件上运行传奇。 Official redux-saga example:
store.runSaga(rootSaga)
render(
<Root
//...
/>,
//...
)
那么其余的组件树就没有传奇逻辑。