是否有更简单或更近期的方式,例如,点击按钮并单击该按钮,重新路由到新路径?
.... BESIDES在组件上使用上下文方法?
由于
答案 0 :(得分:4)
有办法:
1。withRouter - 来自react-router(高阶组件)的HoC,它包装另一个组件以提供 props.router
import { withRouter } from 'react-router';
class App extends Component {
...
onClickButton(){
this.props.router.push('/path')
}
...
}
export default withRouter(App);
2. 历史单身人士(hashHistory / browserHistory)
import { hashHistory} from 'react-router';
class App extends Component {
...
onClickButton(){
hashHistory.push('/path')
}
...
}
3.此外,您可以组件中的道具获取历史记录,将其传递给路径
....
<Route path="/" component={App} />
然后在Component
中class App extends Component {
...
onClickButton(){
this.props.history.push('/path')
}
...
}