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的問題。看看上述建議是否有幫助。