CombineReducers () определяет, но состояние всегда неопределено - PullRequest
0 голосов
/ 24 октября 2018

Я использовал Объединить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),
    ),
  ),
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...