This repository has been archived on 2025-09-03. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
resolver/app/store/configureStore.ts
2017-10-10 16:39:02 +07:00

58 lines
1.4 KiB
TypeScript

// - Import external components
import * as redux from 'redux'
import thunk from 'redux-thunk'
import {routerReducer, routerMiddleware } from 'react-router-redux'
import createHistory from 'history/createBrowserHistory'
import {createLogger} from 'redux-logger'
// - Import reducers
import {
imageGalleryReducer,
postReducer,
commentReducer,
voteReducer,
authorizeReducer,
globalReducer,
userReducer,
circleReducer,
notificationReducer
} from 'reducers'
declare const window: any
// Create a history of your choosing (we're using a browser history in this case)
export const history = createHistory()
// - Build the middleware for intercepting and dispatching navigation actions
const middleware = routerMiddleware(history)
const logger = createLogger()
// - Reducers
let reducer = redux.combineReducers({
imageGallery: imageGalleryReducer,
post: postReducer,
circle: circleReducer,
comment: commentReducer,
vote: voteReducer,
authorize: authorizeReducer,
router: routerReducer,
user: userReducer,
notify:notificationReducer,
global: globalReducer
})
// - initial state
let initialState = {
}
// - Config and create store of redux
let store : redux.Store<{}> = redux.createStore(reducer, initialState, redux.compose(
redux.applyMiddleware(logger,thunk,middleware),
(window as any).devToolsExtension ? (window as any).devToolsExtension() : (f:any) => f
))
export default store