"use strict";
const React = require('react');
const react_router_1 = require('react-router');
const history_1 = require('history');
const react_router_redux_1 = require('react-router-redux');
const react_redux_1 = require('react-redux');
const fetch_1 = require('../fetch');
const store_1 = require('../store');
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = (routes, basename, reducer) => {
    // 设置 fetch 的 basename
    fetch_1.setBasename(basename);
    const initialState = window.__INITIAL_STATE__;
    const store = store_1.default(initialState, reducer);
    const appHistory = react_router_1.useRouterHistory(history_1.createHistory)({ basename: basename });
    const history = react_router_redux_1.syncHistoryWithStore(appHistory, store);
    return (<react_redux_1.Provider store={store}>
            <react_router_1.Router history={history}>{routes}</react_router_1.Router>
        </react_redux_1.Provider>);
};
