Я реализую прореагировать с Redux, и я получил вложенное состояние с тем же именем (смотрите рисунок)Уплотненное состояние с тем же именем
Вот мой редуктор:
function helps(state = {
isFetching: false,
items: []
}, action) {
switch (action.type) {
case types.HELPS_FEED_REQUEST:
return Object.assign({}, state, {
isFetching: true
});
case types.HELPS_FEED_SUCCESS:
return Object.assign({}, state, {
isFetching: false,
items: [
...state.items,
...action.items
]
});
default:
return state;
}
}
const rootReducer = combineReducers({
helps
});
export default rootReducer;
редуктор index.js:
import {combineReducers} from 'redux';
import help from './helpReducer';
import helps from './helpsReducer';
const rootReducer = combineReducers({
help,
helps
});
export default rootReducer;
Мой вопрос: почему у меня нет ne «помогает» состояние с isFetching и элементами? Есть ли что-то очевидное, что мне не хватает?
EDIT:
По-видимому, именно из-я использую скомбинировать редуктор. Так что, если изменить имя функции, например helps_feed, государство будет:
helps
-- helps_feed
Почему combineReducers сделать вложенное состояние?
configureStore.js
import { createStore, applyMiddleware, compose } from 'redux';
import rootReducer from '../reducers';
import createSagaMiddleware, {END} from 'redux-saga';
import helpSagas from '../sagas/helpSaga';
export default function configureStore(initialState) {
const rootSagas = [
helpSagas
];
const sagaMiddleWare = createSagaMiddleware();
const store = createStore(
rootReducer,
initialState,
compose(
applyMiddleware(sagaMiddleWare),
window.devToolsExtension ? window.devToolsExtension() : f => f
));
store.runSaga = sagaMiddleWare.run(...rootSagas);
store.close =() => store.dispatch(END);
return store;
}
Существует не достаточно информации, чтобы помочь вам, вы можете показать файл, в котором вы создаете свою магазин? – QoP
@QoP Я обновил свой вопрос. –