如何使用 react-redux 创建商店

how to create store with react-redux

抱歉这个愚蠢的问题,但我不知道如何将我现有的 redux 存储定义与 applyMiddleware 结合在一起。

这是我当前的工作代码:

const store = createStore(
  combineReducers({
    ...reducers,
    routing: routerReducer
  })
)

我想以某种方式将此中间件添加到我的商店定义中:

applyMiddleware(...thunk)

我的解决方案不起作用,我在 Web 浏览器中收到“TypeError:dbg 未定义”:

const store = createStore(
  applyMiddleware(...thunk),
  combineReducers({
    ...reducers,
    routing: routerReducer
  })
)

你能帮我个忙吗?谢谢。

试试这个

createStore(
  combineReducers({
    ...reducers,
    routing: routerReducer
  }), 
  applyMiddleware(thunk)
)

语法:

createStore(reducer, [preloadedState], [enhancer])

Enhancer 必须是 createStore()

的最后一个参数

阅读来自 here

的更多内容

更好的解决方案:

app.js:

    import {createStore, applyMiddleware, compose} from 'redux';
    import {browserHistory, Router, Route, IndexRoute} from 'react-router';
    import {syncHistoryWithStore, routerMiddleware} from 'react-router-redux';
    import {reducers} from './reducers';

   const initial_state = {};

    let middleware = applyMiddleware(routerMiddleware(browserHistory));
        if (process.env.NODE_ENV !== 'production') {
            middleware = compose(middleware, window.devToolsExtension && window.devToolsExtension());
        }
        const store   = createStore(reducers, initial_state, middleware);
        const history = syncHistoryWithStore(browserHistory, store);

减速器:

import {combineReducers} from 'redux';
import {routerReducer} from 'react-router-redux';
import users from './users';

export const reducers = combineReducers({
    routing:routerReducer,
    users: users
});