亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Redux-saga put 方法不會觸發減速器

Redux-saga put 方法不會觸發減速器

慕森王 2021-11-18 16:14:16
我試圖通過在我的 redux saga 中調用 put 方法來觸發 redux reducer,但它沒有被觸發,即使我返回應該在我的 reducer 中捕獲的相同操作類型。這是我的傳奇:export function* registrationSaga(action) {  try {    const response = yield call(registerUser, action.payload);    console.log(response)    yield put({ type: REGISTER_USER_SUCCESS, response })  } catch(error) {    yield put({ type: REGISTER_USER_ERROR, error });  }}這是我的減速器:export const registrationReducer = (state = {}, action) => {let response = action.response;switch(action.type) {  case REGISTER_USER_SUCCESS: {    console.log("successful registration")    return { ...state, registration_success: response.success, registration_message: response.message };  }  case REGISTER_USER_ERROR:    return { ...state, registration_success: response.success, registration_message: response.message };  default:    return state;}}我希望在我的控制臺中看到“成功注冊”并在我的組件中將該響應作為道具獲得,但這并沒有發生。什么應該導致這個問題?這是我的 rootReducer 和商店:const rootReducer = () => combineReducers({    registrationReducer,    todoReducer})export default rootReducer;并存儲:const sagaMiddleware = createSagaMiddleware()export const store = createStore(    rootReducer,    applyMiddleware(sagaMiddleware));sagaMiddleware.run(rootSaga)
查看完整描述

1 回答

?
SMILET

TA貢獻1796條經驗 獲得超4個贊

rootReducer不應該是調用的函數combineReducers,而應該是以下的返回值combineReducers:


const rootReducer = combineReducers({

    registrationReducer,

    todoReducer,

});


export default rootReducer;


查看完整回答
反對 回復 2021-11-18
  • 1 回答
  • 0 關注
  • 201 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號