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
  })
})