Добавление базового URL в приложение с помощью Redux-Router + React-Router
я используюРеагировать-маршрутизатор 1.0.0-rc3 вместе сRedux-маршрутизатор 1.0.0-бета3.
При использовании React-Router вы можете использоватьuseBasename
сcreateHistory
установить базовый URL для приложения, чтобы вы могли легко написать приложение, которое запускается внутри подкаталога.пример:
Вместо этого:
import { createHistory } from 'history';
let base = "/app_name/"
<Router history={browserHistory}>
<Route path={base} component={App}></Route>
</Router>
<Link path={base + "some_path"}>some_path</Link>
Вы можете написать таким образом, используяuseBasename
:
import { createHistory, useBasename } from 'history';
const browserHistory = useBasename(createHistory)({
basename: "/app_name"
});
<Router history={browserHistory}>
<Route path="/" component={App}></Route>
</Router>
<Link path="/some_path">some_path</Link>
Однако в Redux-Router вам необходимо пройтиcreateHistory
вместоhistory
к редуктору:
const store = compose(
applyMiddleware(m1, m2, m3),
reduxReactRouter({
routes,
createHistory
}),
devTools()
)(createStore)(reducer);
Как мы можем использоватьuseBasename
в этом случае?