我正在使用React-Router 1.0.0-rc3 和Redux-Router 1.0.0-beta3。
使用 React-Router 时,您可以使用useBasename
withcreateHistory
来设置应用程序的基本 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
在这种情况下我们如何使用?