Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Расскажите, чем ваш подход лучше использования вложенных combineReducers (https://github.com/reactjs/redux/issues/738) вместе с reduce-reducers от Эндрю Кларка?
rootReducer = combineReducers({
router, // redux-react-router reducer
account: combineReducers({
profile: combineReducers({
info, // reducer function
credentials // reducer function
}),
billing // reducer function
}),
// ... other combineReducers
})
});
profile: {
info: Object,
credentials: Object,
isUsed: boolean,
}
const isProfileUsed = state => ({ ...state, isUsed: true });
const profileParams = combineReducers({
info,
credentials,
});
const rootReducer = combineReducers({
router,
account: combineReducers({
profile: reduceReducers(profileParams, isProfileUsed)
billing,
}),
// ... other combineReducers
});
Например, один из уровней несет в себе составную логику, которую тоже было бы неплохо разделить (или как говорил один из известных людей: «Ухлубить!»). Но такого подхода нет в API Redux.
Redux store: Расширение по «горизонтали»