Javascript 反应路由器-是否有';更容易';除了使用上下文之外,如何路由到新路径?

Javascript 反应路由器-是否有';更容易';除了使用上下文之外,如何路由到新路径?,javascript,reactjs,redux,react-router,Javascript,Reactjs,Redux,React Router,有没有一种更简单或者更近的方法可以,例如,单击一个按钮,然后再单击该按钮,重新路由到一个新路径 …除了在组件上使用上下文方法之外 谢谢有以下几种方法: 1.-来自react路由器(高阶组件)的HoC,它封装另一个组件以提供道具。路由器 import { withRouter } from 'react-router'; class App extends Component { ... onClickButton(){ this.props.router.push('

有没有一种更简单或者更近的方法可以,例如,单击一个按钮,然后再单击该按钮,重新路由到一个新路径

…除了在组件上使用上下文方法之外

谢谢

有以下几种方法:

1.-来自react路由器(高阶组件)的HoC,它封装另一个组件以提供道具。路由器

import { withRouter } from 'react-router';

class App extends Component {
   ...
    onClickButton(){
      this.props.router.push('/path')
    }
   ...
}

export default withRouter(App);
2.历史单例(hashHistory/browserHistory)

3.您还可以通过组件中的道具获取历史,该道具被传递到路径

....
<Route path="/" component={App} />

哦,哇,我喜欢3号。所以在第三个示例中,基本上应用程序组件现在继承了一个名为history的属性,因为应用程序是通过路由调用的?那很酷。还有…还有。。。这是否意味着您可以执行history.push(任何使用路由器的路径)??谢谢
....
<Route path="/" component={App} />
class App extends Component {
   ...
    onClickButton(){
      this.props.history.push('/path')
    }
   ...
}