0
我仍然在学习redux-saga
,但遇到2问题。Redux Saga动作必须是普通物体。使用自定义中间件进行异步操作
这里是我的代码:
的问题是:
Actions must be plain objects. Use custom middleware for async actions
- 功能doSignIn不断得到即使动作永远不会调用电话。行动是可以通过点击按钮来调用。
任何解决方案?
我仍然在学习redux-saga
,但遇到2问题。Redux Saga动作必须是普通物体。使用自定义中间件进行异步操作
这里是我的代码:
的问题是:
Actions must be plain objects. Use custom middleware for async actions
任何解决方案?
的几个问题我看到:
function* rootSaga() {
yield [
takeLatest(actions.authRequest, doSignIn),
];
}
takeLatest第一个参数是一个“模式”来匹配,而不是行动。所以,你真的希望是这样的:
takeLatest(AUTH_REQUEST, doSignIn)
如果它是一个字符串,该动作被匹配,如果action.type ===模式(例如带(INCREMENT_ASYNC)
对于问题1,Actions must be plain objects. Use custom middleware for async actions
,永远传递一个函数来put
。你doSignIn传奇应该看起来更像
export function* doSignIn() {
try {
yield put(actions.sendingRequest());
const { email, password } = yield put(actions.authRequest());
以后你会在剧情中正确做出放置效果,所以只要确保始终这样做。
我不是100%肯定在数字2的问题。看看上述建议是否有帮助。