Reactjs 存储区没有有效的减速机。确保传递给combinereducer的参数是一个值为reducer的对象
这是我的减速器,工作得很好:Reactjs 存储区没有有效的减速机。确保传递给combinereducer的参数是一个值为reducer的对象,reactjs,redux,react-redux,Reactjs,Redux,React Redux,这是我的减速器,工作得很好: const rootReducer = createStoreWithMiddleware(combineReducers({ companies: companies, brands: brands, login: login, chat: chat, banners: banners, sessions: sessions, setti
const rootReducer = createStoreWithMiddleware(combineReducers({
companies: companies,
brands: brands,
login: login,
chat: chat,
banners: banners,
sessions: sessions,
settings: settings,
statistics: statistics
}));
我希望我的系统是模块化的,所以我尝试将其更改为:
const rootReducer = createStoreWithMiddleware(combineReducers({
chatModule: {
companies: companies,
brands: brands,
login: login,
chat: chat,
banners: banners,
sessions: sessions,
settings: settings,
statistics: statistics
}
}));
然后,我在浏览器中出现以下错误:
Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.
这是整个文件代码:
import {combineReducers, createStore, applyMiddleware} from 'redux';
import ReduxPromise from 'redux-promise';
import {login, chat, chatClick, banners, sessions, companies, settings, statistics, brands} from '../actions/actions'
const createStoreWithMiddleware = applyMiddleware(ReduxPromise)(createStore);
const rootReducer = createStoreWithMiddleware(combineReducers({
chatModule: {
companies: companies,
brands: brands,
login: login,
chat: chat,
banners: banners,
sessions: sessions,
settings: settings,
statistics: statistics
}
}));
export default rootReducer;
公司、品牌、登录等。。。是导出函数…如错误消息中所述,您应将其传递给值为减缩器的
组合减缩器
对象。您传递了一个值为对象的对象({companys:companys,brands:brands,}
)
combinereducer
返回reducer本身,以便您可以执行以下操作:
const rootReducer = createStoreWithMiddleware(combineReducers({
chatModule: combineReducers({
companies: companies,
brands: brands,
login: login,
chat: chat,
banners: banners,
sessions: sessions,
settings: settings,
statistics: statistics
})
})
正如在错误消息中所说的,您应该将其值传递给
combineReducers
对象,该对象的值为reducers。您传递了一个值为对象的对象({companys:companys,brands:brands,}
)
combinereducer
返回reducer本身,以便您可以执行以下操作:
const rootReducer = createStoreWithMiddleware(combineReducers({
chatModule: combineReducers({
companies: companies,
brands: brands,
login: login,
chat: chat,
banners: banners,
sessions: sessions,
settings: settings,
statistics: statistics
})
})