Я использую Redux-Saga для обработки данных для хранения, и в настоящее время я запутался в одной проблеме, с которой я раньше не сталкивался.Проблема в том, что мой редуктор вызывает два раза, и в первый раз возвращаемые данные не определены, поэтому я был вынужден добавить значение по умолчанию null .Но, как я вижу в других примерах в интернете, нет случаев использования значений по умолчанию.это мой редуктор `
import { createReducer } from '../utilities';
import { GET_USER_INFO } from '../actions';
const userInfo = createReducer({}, {
[GET_USER_INFO](state, { userData = null }) {
console.log(userData, 'userData from userReducer');
return userData;
}
});
export default userInfo;
это вспомогательная функция для создания редукторов`
const createReducer = (initialState, handlers) => (state = initialState, action) => {
if (Object.prototype.hasOwnProperty.call(handlers, action.type)) {
// console.log(state, 'state from createReducer');
console.log(action, 'action from createReducer');
// console.log(initialState, 'initialState from createReducer');
return handlers[action.type](state, action);
}
return state;
};
export default createReducer;
это моя сага `
import axios from 'axios';
import {
take, put, call
} from 'redux-saga/effects';
import { getUserInfo, GET_USER_INFO } from '../actions';
export default function* currentUserSaga() {
try {
yield take(GET_USER_INFO);
const response = yield call(axios, '/api/current_user');
console.log(response, 'responseee from user saga');
yield put(getUserInfo(response.data));
} catch (err) {
console.log(err);
}
}
Как вы можете видеть в моемЯ вынужден написать значение по умолчанию, но, возможно, я делаю что-то не так.Так это правильно?Или, может быть, есть лучшее решение