Reactjs 如何在“全局”减速器中使用“主”状态?
我有一个react,redux传奇,不变的js应用程序 有了这种架构,我的redux商店就是这样Reactjs 如何在“全局”减速器中使用“主”状态?,reactjs,redux,react-redux,redux-saga,immutable.js,Reactjs,Redux,React Redux,Redux Saga,Immutable.js,我有一个react,redux传奇,不变的js应用程序 有了这种架构,我的redux商店就是这样 global: { notifications:{...} ... }, home: { ...contents } 问题是,当我想更新主页内容时,我正在使用连接到主页的减速机。但在主减速器中,通知不可用。 因为通知在全局范围内 与此方法相反的是使用全局减速器,通知在全局状态下可用。但这次我无法访问home>内容 我的代码如下 这是连接到全局的减速器: case CONTENT_
global: {
notifications:{...}
...
},
home: {
...contents
}
问题是,当我想更新主页内容时,我正在使用连接到主页的减速机。但在主减速器中,通知不可用。
因为通知在全局范围内
与此方法相反的是使用全局减速器,通知在全局状态下可用。但这次我无法访问home>内容
我的代码如下
这是连接到全局的减速器:
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));
如何使用不同的减速器状态?对于本例,我希望访问全局通知并更新主页内容。我不知道我可以对不同的还原器使用相同的常量 基本上我附加了另一个减速机,一个主减速机到相同的常数 下面是我的代码: 这是用于布局减速器的。通过内容添加成功管理通知 这是一个用于管理主页内容的工具,内容添加成功
case CONTENT_ADD_SUCCESS:
return state
.set('loading', false)
.update('notifications', arr => arr.push(
fromJS(
{
key: CONTENT_ADD_SUCCESS_N_ID,
show: true,
type: 'success',
message: action.response.message,
}
)
))
case CONTENT_ADD_SUCCESS:
console.log('HOME REDUCER :: CONTENT_ADD_SUCCESS', state);
return state
.update('contents', arr => arr.unshift(fromJS(JSON.parse(action.response.newContent))))