Last active
August 31, 2016 22:56
-
-
Save johncmckim/4b298d8d8439b831537724407e91e8c2 to your computer and use it in GitHub Desktop.
Garden Aid - React - Create store
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { createStore, applyMiddleware, compose, combineReducers } from 'redux'; | |
import { routerMiddleware, routerReducer } from 'react-router-redux'; | |
import reduxThunk from 'redux-thunk'; | |
import createLogger from 'redux-logger'; | |
import reducerFactory from '../reducers'; | |
export default function createAppStore(browserHistory, client, initialState = {}) { | |
const middlewares = [ | |
routerMiddleware(browserHistory), | |
client.middleware(), | |
reduxThunk.withExtraArgument(client), | |
]; | |
if (process.env.NODE_ENV !== 'production') { | |
const logger = createLogger(); | |
middlewares.push(logger); | |
} | |
const reducer = combineReducers({ | |
routing: routerReducer, | |
apollo: client.reducer(), | |
}); | |
const store = createStore( | |
reducer, | |
initialState, | |
applyMiddleware(...middlewares) | |
); | |
return store; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment