使用redux saga已经将类中的所有方法都实现为静态方法 下面是代码。
当调度动作FETCH_POST时,也会注册rootSaga静态方法,它永远不会执行fetchAuthorSaga,因此对web api的调用永远不会发生,而是转到reducer,其中检查时的类型显示没有数据的FETCH_POST。我在这里失踪了什么?
答案 0 :(得分:0)
() => SagaAuthor.fetchAuthorSaga
是" noop"。您正在传递一个返回生成器的函数,但它必须是一个生成器本身。
应为takeEvery('FETCH_POST', SagaAuthor.fetchAuthorSaga)
takeEvery(pattern, saga, ...args)
...saga: Function
- 生成器 功能
您需要在rootSaga
yield all([
call(SagaAuthor.onBootstrap) // should be effect
])
另外"已经将类中的所有方法都实现为静态方法"这种方法没有多大意义。为什么你需要一个没有实例的类?只需使用object literal或模块本身。