canape/frontend/js/store.js

27 lines
818 B
JavaScript

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;