我有一个工作的React / Redux路由器应用程序,使用react-router-dom 4.2.2
和react-router-redux 5.0.0-alpha.9
实现。
我想将基本名称/calendar
添加到所有路径,通过BrowserRouter's basename API看起来像这样:
<BrowserRouter basename="/calendar"/>
<Link to="/today"/> // renders <a href="/calendar/today">
但到目前为止我对BrowserRouter
没有任何用处,所以我真的不知道应该去哪里。
我试图将NavLink
以及带有Route
的{{1}}封装(+将其置于上面的示例中),但似乎不是做任何事。
由于我的应用在没有BrowserRouter
的情况下正常工作 - 它是BrowserRouter
的可选部分还是已经在react-router
以某种方式集成?
更新
这就是我尝试用react-router-redux
封装NavLink
和/或Route
的方式:
BrowserRouter
答案 0 :(得分:0)
这就是我解决它的方法:
export default class Root extends Component {
render() {
const { store, history } = this.props;
return (
<Provider store={store}>
<ConnectedRouter history={history}>
<BrowserRouter basename='/calendar'>
<App />
</BrowserRouter>
</ConnectedRouter>
</Provider>
);
}
}