Я использовал ОбъединитьReducers () и initialState определяется в каждом редукторе отдельно.
Проблема заключается в том, что -> состояние кажется всегда неопределеннымдаже внутри редуктора я попытался console.log({...state})
и получил пустой объект.Когда я заменяю state на initialState в каждом возврате {}, тогда я получаю данные initialState.
Я попытался в функции clientsReducer выполнить следующее: 1- state = {...initialState}
=> дает пустой объект. 2- удалите initialState
из аргументов и выполните присваивание внутри функции.=> дает неопределенное
есть идеи, почему?
const initialState = {
clientsArray: [],
shouldFetchClients: false,
isFetchingClients: false,
fetchClientsError: null,
};
export default function clientsReducer(state = initialState, action) {
switch (action.type) {
case FETCH_CLIENTS_SUCCESS:
return {
...state,
clientsArray: action.payload,
isFetchingClients: false,
};
case FETCH_CLIENTS_FAILURE:
return {
...state,
fetchClientsError: action.payload,
isFetchingClients: false,
};
case FETCH_CLIENTS:
return {
...state,
isFetchingClients: true,
shouldFetchClients: true,
clientsArray: null,
};
default:
return state;
}
}
Это код редуктора, и я использую функцию CombineReducers для определения RootReducer:
import { combineReducers } from 'redux';
//REDUCER FILES IMPORTS HERE
export default combineReducers({
clients: clientsReducer,
admins: adminsReducer
})
затем в createStore у меня есть:
import { createStore, applyMiddleware, compose } from 'redux';
import thunk from 'redux-thunk';
import { persistReducer, persistStore } from 'redux-persist';
import createSagaMiddleware from 'redux-saga';
import storage from 'redux-persist/lib/storage';
import createFilter from 'redux-persist-transform-filter';
// CONNECTED-REACT-ROUTER
import { createBrowserHistory } from 'history';
import { routerMiddleware, connectRouter } from 'connected-react-router';
import rootReducer from './rootReducer';
export const history = createBrowserHistory();
const sagaMiddleware = createSagaMiddleware();
const persistedReducer = persistReducer(persistConfig, rootReducer);
export const store = createStore(
connectRouter(history)(persistedReducer),
composeEnhancer(
applyMiddleware(
routerMiddleware(history),
sagaMiddleware,
thunk,
createLogService(true),
),
),
);