目前,我的申请中有20多条路线。这些路由中的每一个都有多个API调用,所以我打算使用redux-saga来进行AJAX调用。
从阅读文档,看起来我将能够执行以下操作:
createSagaMiddleware.run()
。所以它看起来像这样:
export function* screen1Saga() {
yield [ ... ]; // different sub-sagas for screen1 route
}
然后在主saga文件中,执行以下操作:
import { screen1Saga } from './screen1/sagas';
export function* rootSaga() {
yield [ screen1Saga(), ... ]; // array of route-specific sagas
}
我相信这应该完美无缺。但是我担心当创造20多种特定航线的传奇时它会是怎样的。在根传奇中,它只是一大堆传奇。
是否有可能以其他方式做到这一点?优选地,路由特定传奇被封装在其相应的文件夹中,而不需要将其一直导出到应用程序结构的顶部?
只是好奇地看到其他人如何处理大量的传奇故事。
React-Boilerplate repo是扩展React应用程序的一些方法的一个很好的例子。他们使用一个名为asyncInjectors的实用程序文件,它实际上只是通过调用引擎盖下的sagaMiddleware.run(saga)
来委派添加传单的工作。