【问题标题】:React Router v4 navigation programmatically以编程方式反应路由器 v4 导航
【发布时间】:2017-09-27 11:41:13
【问题描述】:

当我使用 Redirect、Link 或 NavLink 的反应路由器时,一切都很好。但我需要一个以编程方式将我导航到路线的函数。

这就是我想要的:

if(a == 1){
    this.context.history.push("/")
}
else {
    this.context.history.push("/home");
}

如您所见,react router v4 中不再存在上下文历史记录。我无法在 js 代码中编写 withroute 进行导航。谁能告诉我如何直接在 js 代码中导航?

谢谢

【问题讨论】:

  • 你尝试过使用 React Router 的 browserHistory 吗?
  • 我正在使用 react-router-dom 我的意思是 v4。我无法提供任何解决方案
  • 这能回答你的问题吗? Programmatically navigate using React router

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


【解决方案1】:

路由器会为你的 props 添加一个history,你可以这样使用它:

this.props.history.push('/mypath')

查看更多信息:Navigating Programatically in React-Router v4

【讨论】:

  • 这只会改变 URL,不会真正导航
猜你喜欢
  • 2017-06-26
  • 2017-09-03
  • 2017-06-29
  • 2020-01-05
  • 1970-01-01
  • 2018-09-26
相关资源
最近更新 更多