UNPKG

template-ivan

Version:
50 lines (41 loc) 1.63 kB
// @flow import React from 'react' import { render } from 'react-dom' import { createStore, applyMiddleware, compose } from 'redux' import { Provider } from 'react-redux' import createHistory from 'history/createBrowserHistory' import { ConnectedRouter, routerMiddleware } from 'react-router-redux' import thunk from 'redux-thunk' import type { Store as ReduxStore } from 'redux' import './assets/index.css' import reducers from './reducers/index' import Router from './router' // 请求要统一处理,please modify the middleware import httpMiddleware from './middleware/httpmiddleware' import registerServiceWorker from './registerServiceWorker' import type { State } from './reducers/index' import type { Actions, Dispatch } from './actions/index' const history = createHistory() const middleware = [thunk, routerMiddleware(history), httpMiddleware] // see: http://zalmoxisus.github.io/redux-devtools-extension/ // eslint-disable-next-line no-underscore-dangle const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? // eslint-disable-next-line no-underscore-dangle window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({}) : compose const enhancer = composeEnhancers(applyMiddleware(...middleware)) // 全局Store type Store = ReduxStore<State, Actions, Dispatch> const store: Store = createStore(reducers, enhancer) const element = document.getElementById('root') if (!element) { throw new Error("couldn't find element with id root") } render( <Provider store={store}> <ConnectedRouter history={history}> <Router /> </ConnectedRouter> </Provider>, element, ) registerServiceWorker()