Я пытаюсь запустить редукторный редуктор, вызывая метод put в моей саге редуктора, но он не срабатывает, даже если я возвращаю тот же тип действия, который должен быть перехвачен в моем редукторе.
Это моя сага:
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)