Я пытаюсь настроить шаблон для объединения редукторов из нескольких файлов в соответствии с ответом @ gaearon (https://github.com/reduxjs/redux/issues/609#issuecomment-133903294),, но я делаю простую ошибку и не могу понять, что это такое. Имея некоторый мозг заблокировать на этом ...: \
Получение следующей ошибки:
Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.
Мой код:
контейнеры / оценка / reducers.js
export const goals = (state = 0, action) =>
action.type === types.UPDATE_GOALS ? action.payload : state
export const points = (state = 0, action) =>
action.type === types.UPDATE_POINTS ? action.payload : state
контейнеры / время / reducers.js
export const minutes = (state = 0, action) =>
action.type === types.UPDATE_MINUTES ? action.payload : state
export const seconds = (state = 0, action) =>
action.type === types.UPDATE_SECONDS ? action.payload : state
контейнеры / index.js * ** 1022 тысяча двадцать-один *
import * as score from './score'
import * as time from './time'
export default Object.assign({}, score, time)
магазин / configureStore.js
import { createStore, combineReducers } from 'redux'
import reducers from '../containers'
const configureStore = initialState =>
createStore(combineReducers(reducers), initialState)
export default configureStore
компоненты / provider.js
import configureStore from '../store/configureStore'
const initialState = { minutes: 55 }
const store = configureStore(initialState)
На больших базах кода недостаточно просто напрямую импортировать редукторы в файл configureStore
. У вас есть эти огромные деревья состояний, для которых требуются сотни файлов редукторов, и многие редукторы импортируют другие редукторы из других файлов. В основном я спрашиваю, как управлять глубоко вложенным деревом состояний редукторов и комбинировать их друг с другом, используя import
и export
, пока они не достигнут корневой функции combineReducers
.