首页 > Web开发 > 详细

react项目中引入了redux后js控制路由跳转方案

时间:2020-02-27 11:45:50      阅读:114      评论:0      收藏:0      [点我收藏+]

如果你的项目中并没有用到redux,那本文你可以忽略

问题引入

纯粹的单页面react应用中,通过this.props.history.push(‘/list’)就可以进行路由跳转,但是加上了redux后,使用这个语句并不能生效。相信你在做的过程也遇到了此问题,控制台报错了-_-

1
Uncaught TypeError: Cannot read property 'push' of undefined

解决方案

  1. 在将要使用js控制路由的组件中引入withRouter方法;

    大专栏  react项目中引入了redux后js控制路由跳转方案le>
    1
    import { withRouter} from 'react-router-dom';
  2. 导出类的时候运用该方法

    1
    export default withRouter(MailListLeft)
  3. 在MailListLeft组件中正常使用 this.props.history.push(‘/list’)

    1
    <button type="button" onClick={()=>{this.props.history.push("/list");}}>去列表页面</button>

react项目中引入了redux后js控制路由跳转方案

原文:https://www.cnblogs.com/lijianming180/p/12370647.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!