mirror of
https://github.com/wassname/talk.git
synced 2026-06-30 02:56:56 +08:00
28 lines
679 B
JavaScript
28 lines
679 B
JavaScript
import {createStore as reduxCreateStore, combineReducers, applyMiddleware, compose} from 'redux';
|
|
|
|
/**
|
|
* createStore creates a Redux Store
|
|
* @param {Object} reducers addtional reducers
|
|
* @param {Array} [middlewares] additional middlewares
|
|
* @return {Object} redux store
|
|
*/
|
|
export function createStore(reducers, middlewares = []) {
|
|
const enhancers = [
|
|
applyMiddleware(
|
|
...middlewares,
|
|
),
|
|
];
|
|
|
|
if (window.devToolsExtension) {
|
|
|
|
// we can't have the last argument of compose() be undefined
|
|
enhancers.push(window.devToolsExtension());
|
|
}
|
|
|
|
return reduxCreateStore(
|
|
combineReducers(reducers),
|
|
{},
|
|
compose(...enhancers)
|
|
);
|
|
}
|