BrowserRouter应该去哪里?

时间:2018-01-02 10:21:08

标签: reactjs redux react-router react-router-redux

我有一个工作的React / Redux路由器应用程序,使用react-router-dom 4.2.2react-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

1 个答案:

答案 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>
    );
  }
}