Я думаю, что combreducers - это то, что вы ищете.
По мере усложнения приложения вы захотите разделить свою функцию сокращения на отдельные функции, каждая управление независимыми частями состояния.
Вспомогательная функция combiReducers превращает объект, значения которого являются различными функциями сокращения, в одну функцию сокращения, которую вы можете передать в createStore.
Представьте, что вы хотите управлять клиентами, проектами и пользователями.
Вы получите один редуктор для каждой функции:
const customersInitialState = {data:[], ...}
export default function customersReducer(state = customersInitialState , action) {
switch (action.type) {
case 'ADD':
return {...state, data: [...state.data, action.payload]}
default:
return state
}
}
Затем вы объедините все эти редукторы в один
export default combineReducers({
customers: customersReducer,
projects: projectsReducer,
users: usersReducer
})
const store = createStore(reducer)
Наконец, состояние вашего магазина будет быть таким:
{
customers: {data: [], ...},
projects: {data: [], ...},
users: {data: [], ...},
}