使用history跳转路由不能跳转的问题

使用history跳转路由不能跳转的问题

前端小白在学习react的时候,遇到了使用history跳转路由的问题,查了很多资料,最后找到了解决办法。

问题描述
对登录页面的用户名和密码input值进行验证,验证成功后页面跳转到主页面,但是在使用this.props.history.replace()时,发现并不能正常跳转,而是出现了Paused in debugger,但是并没有详细提示出了什么错,跳转代码如下:

    //对表单进行验证
    this.props.form.validateFields(async(err, values) => {
        if (!err) {
            // 请求成功  
            const {user,password} = values
            const result = await reqLogin(user,password)
            if(result.data.code === 200){
                message.success('登陆成功')
                //跳转到后台管理界面(需要回退的话用push)
                this.props.history.replace('/')
            }else{
                //提示错误信息
                message.error(result.msg)
            }
        }
        else{
            console.log('校验失败');
        }
      });

解决问题的办法

使用withRouter高阶组件

import React from "react";
import {withRouter} from "react-router-dom";
 
class MyComponent extends React.Component {
  ...
  myFunction() {
    this.props.history.push("/App/Home");
  }
  ...
}
export default withRouter(MyComponent);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值