开发者问题收集

reactJS history push 返回错误

2018-03-16
3619

嗨,在我的 reactJS 应用程序中,当我想重新加载页面时,我使用这个

this.props.history.push("URL");

重定向到另一个页面或同一页面。

但是我收到此错误:

Hash history cannot PUSH the same path; a new entry will not be added to the history stack

我该如何解决这个问题?

提前致谢

3个回答

我认为您正在寻找这个

   this.props.history.push({
         pathname: "URL"
      })
Adnan
2018-07-12

您可以使用

if (history.location.pathname !== somePath) history.push(somePath);
this.props.history.location.pathname
Ashu
2019-03-28

您可以使用 replace 属性。当 replace 属性为真时,单击链接将替换历史堆栈中的当前条目,而不是添加新条目。要获取当前路径名,请使用 props.location

<Link replace={to === location.pathname} to={to}><Button>{to}</Button></Link>

您可以创建高阶函数并将您的 <Link> 包装在其中。因此您可以将其用作

<NavLink to="{to}"></NavLink> 

这是教程和示例(我的博客)

Filip Molcik
2018-07-12