import { createStore, applyMiddleware, compose } from "redux"; import { syncHistoryWithStore } from "react-router-redux" import { hashHistory } from "react-router" import thunk from "redux-thunk" import { routerMiddleware } from "react-router-redux" // Import the root reducer import rootReducer from "./reducers/index" const routingMiddleware = routerMiddleware(hashHistory) const middlewares = [thunk, routingMiddleware]; // Only use in development mode (set in webpack) if (process.env.NODE_ENV === "development") { const { logger } = require("redux-logger"); middlewares.push(logger); } // Export the store const store = compose(applyMiddleware(...middlewares))(createStore)(rootReducer); // Sync history with store export const history = syncHistoryWithStore(hashHistory, store); export default store;