React Router 4 Link 不更新 url 吧

React Router 4 Link To not updating url bar

按照此处提供的示例进行操作 https://reacttraining.com/react-router/examples/url-params

我像这样为我的网站构建了自己的路由:

<Router>
  <div>
    <Route path='/' exact component={Layout} />
    <PublicRoute authed={this.state.authed} exact path='/login' component={Login} />
    <PublicRoute authed={this.state.authed} exact path='/register' component={Register} />
    <PrivateRoute authed={this.state.authed} path='/dashboard' component={Dashboard} />
    <Route path='/cachaca/:bottle' component={Layout} />

    <Route render={() => <h3>No Match</h3>} />
  </div>
</Router>

除了导航(或 link 到)在页面的其他地方之外,这与给定的示例非常相似。

路线本身运行良好。我可以获取匹配信息,我可以成功地检查用户是否登录等等。

我唯一的问题是 URL 栏没有改变以反映导航的变化,所以如果我坐在 localhost:3000/cachaca/1234 并点击回家,主页将加载,但 URL 栏仍将显示 'localhost:3000/cachaca/1234'.

我在 react router 2/3 看到过类似的帖子,这些帖子似乎表明 history prop 是导致此问题的原因 - 但我不认为 Router 4 会出现这种情况。

除此之外,react 培训网站中的示例有效,而我的(似乎遵循相同的步骤)无效。

我是不是漏掉了什么?为什么我得到的结果和培训网站上的不一样。

这是导航link我用的是:

<Link to={"/"}>Home</Link>

感谢任何帮助, 谢谢!

哇,这太傻了 - 但我在这上面浪费了一整天 post 这希望能节省别人一些时间:

原来它没有工作,因为我在 webpack-dev-server/ 文件夹上进行测试,而 react-router 4 似乎有问题。

我一离开 http://localhost:3000/webpack-dev-server/cachaca/asdf to http://localhost:3000/cachaca/asdf,网站就开始正常运行 - 无论是内容还是它在 URL 栏中的位置。

祝大家编码愉快!