35 lines
824 B
JavaScript
Executable File
35 lines
824 B
JavaScript
Executable File
import * as redux from 'redux';
|
|
import thunkMiddleware from 'redux-thunk';
|
|
import { composeWithDevTools } from 'redux-devtools-extension/logOnlyInProduction';
|
|
import { createLogger } from 'redux-logger';
|
|
|
|
import actions from './actions';
|
|
import selectors from './selectors';
|
|
import reducers from './reducers';
|
|
|
|
export const createStore = () => {
|
|
const loggerMiddleware = createLogger();
|
|
|
|
const middleware = [thunkMiddleware, loggerMiddleware];
|
|
|
|
const store = redux.createStore(
|
|
reducers,
|
|
composeWithDevTools(redux.applyMiddleware(...middleware)),
|
|
);
|
|
|
|
/**
|
|
* Dev tools for redux work
|
|
*/
|
|
if (process.env.NODE_ENV === 'development') {
|
|
window.store = store;
|
|
window.actions = actions;
|
|
window.selectors = selectors;
|
|
}
|
|
|
|
return store;
|
|
};
|
|
|
|
const store = createStore();
|
|
|
|
export default store;
|