运行 特定于组件的 sagas 在哪里?
Where to run component specific sagas?
在我的项目中,我们目前 运行在每个组件的存储组件特定的 sagas 中使用应用程序范围的 sagas,如下所示:
public componentDidMount() {
sagaMiddleware.run(componentSpecificSagas);
}
但这意味着使用 sagas 的组件将始终包含应用程序逻辑,即使它们本来可以是可重用的 ui 组件。
运行宁组件特定传奇的最佳实践是什么?他们应该 运行 在店里吗?他们应该在连接器中 运行 吗?
制作一个由您的应用程序逻辑传奇组成的根级传奇:
function* rootSaga() {
yield spawn(saga1)
yield spawn(saga2)
// ...
}
运行 根组件的 saga。 Official redux-saga example:
store.runSaga(rootSaga)
render(
<Root
//...
/>,
//...
)
那么组件树的其余部分就没有saga逻辑了。
在我的项目中,我们目前 运行在每个组件的存储组件特定的 sagas 中使用应用程序范围的 sagas,如下所示:
public componentDidMount() {
sagaMiddleware.run(componentSpecificSagas);
}
但这意味着使用 sagas 的组件将始终包含应用程序逻辑,即使它们本来可以是可重用的 ui 组件。
运行宁组件特定传奇的最佳实践是什么?他们应该 运行 在店里吗?他们应该在连接器中 运行 吗?
制作一个由您的应用程序逻辑传奇组成的根级传奇:
function* rootSaga() {
yield spawn(saga1)
yield spawn(saga2)
// ...
}
运行 根组件的 saga。 Official redux-saga example:
store.runSaga(rootSaga)
render(
<Root
//...
/>,
//...
)
那么组件树的其余部分就没有saga逻辑了。