У меня есть приложение Response, Redux-Saga, неизменяемый JS.
С этой архитектурой мой магазин редуксов выглядит следующим образом.
global: {
notifications:{...}
...
},
home: {
...contents
}
Проблема в том, когда я хочу обновить home contents
Я использую редуктор, подключенный к дому. Но внутри дома редуктор notifications
недоступен.
Потому что notifications
внутри global
.
Как раз в противоположность этому подходу используется редуктор global
, уведомления доступны в глобальном состоянии. Но на этот раз я не могу получить доступ к home > contents
Мой код ниже ..
это редуктор, прикрепленный к глобальному.
case CONTENT_ADD_SUCCESS:
return state
.set('loading', false)
.update('notifications', arr => arr.push(
fromJS(
{
show: true,
type: 'success',
message: action.response.message,
}
)
.setIn(['home', 'contents'], action.response.newContent)
))
Глобальная инъекция редуктора
const withReducer = injectReducer({ key: 'global', reducer });
const withSaga = injectSaga({ key: 'global', saga });
export default compose(
withReducer,
withSaga,
withConnect,
)(withStyles(mainLayoutStyle)(MainLayout));
Как я могу использовать разные состояния редуктора? В этом примере я хочу получить доступ к глобальным уведомлениям, а также обновить домашнее содержимое.