【问题标题】:React Router: history.push("") and <Link to= ""> not working properly togetherReact Router:history.push("") 和 <Link to=""> 不能一起正常工作
【发布时间】:2021-12-01 17:47:31
【问题描述】:

我面临一个与反应路由器相关的小问题。 所以我有两个组件。让我们说A和B。 A 有一个按钮(假设是 x),它重定向到 B(&lt;Link to="/B"&gt;)。 现在从 B 回到 A 有两种方法:

  1. 有一个返回按钮(&lt;Link to="/A"&gt;)
  2. 还有一个导航栏,它也有一个重定向到 A 的导航(这是使用 this.props.history.push("A") 完成的)。

现在问题来了,当我单击 x 并使用第一种方式返回 A,然后再次单击 x 时,它会将我重定向到 B,这是预期的行为。 但是当我单击 x 并使用第二种方式返回 A 时,然后再次单击 x,什么也没有发生。我没有被重定向到 B。

react 路由器版本:5

谁能帮忙解决这个问题。

提前致谢!!!

【问题讨论】:

  • 应该是history.push("/A") 还是history.push("/B") 并具有有效的绝对路径?有点不清楚这里可能会发生什么。我们可能需要更多的上下文。您能否更新问题以包含更完整和全面的代码示例? stackoverflow.com/help/minimal-reproducible-example

标签: reactjs react-router react-router-dom


【解决方案1】:

你在使用历史包吗?如果是,请检查版本是否与 react-router@5 兼容。历史包应该是版本 4。查看history docs 和“文档”部分。

【讨论】:

  • 不明确..只是使用 react-router-dom,它将历史记录安装为对等依赖项。它正在安装历史 v4。问题与此无关。 this.props.history.push() 工作正常
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-08
  • 1970-01-01
  • 2022-10-12
  • 2015-04-23
  • 1970-01-01
  • 1970-01-01
  • 2014-06-30
相关资源
最近更新 更多