【问题标题】:React Router 4 Link To not updating url bar反应路由器4链接到不更新网址栏
【发布时间】:2017-03-16 12:27:45
【问题描述】:

遵循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>

这与给出的示例非常相似,只是导航(或链接)位于页面的其他位置。

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

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

我从 react router 2/3 看到了与我类似的帖子,这些帖子似乎表明 history 道具是导致此问题的原因 - 但我不认为在 Router 4 中是这种情况。

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

我在这里遗漏了什么吗?为什么我没有得到与培训网站相同的结果。

这是我正在使用的导航链接:

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

感谢任何帮助, 谢谢!

【问题讨论】:

    标签: reactjs react-router-v4


    【解决方案1】:

    哇,这太愚蠢了——但我在这上面浪费了我一整天的时间,所以会发布这个以期为其他人节省一些时间:

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

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

    祝大家编码愉快!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-21
      • 2019-07-24
      • 1970-01-01
      • 2019-07-07
      • 2018-01-04
      • 2023-03-08
      相关资源
      最近更新 更多