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