Uncaught TypeError: Cannot read property ‘push‘ of undefined

项目部署时,前端React项目部署到服务器后,使用window.location无法重定向,改成this.props.history.push后本机报错,原因是路由未直接管理,组件中找不到history方法。解决办法是使用react-router-dom的withRouter把非路由变成路由。

最近项目部署, 把前端项目部署到服务器上之后,我的react里面重定向用的是window.location,但是部署到服务器上之后就没有办法定向了。 于是我想着把重定向改成this.props.history.push, 但是改成这个之后本机也报错了,
在这里插入图片描述
错误提示无法识别push,之所以出现这种问题是因为路由没有直接被管理,所以我们的这个组件中找不到这个history方法。 因为我是在直接被路由管理的组件的子子组件里面用到history,所以此处需要使用history的组件没有被路由直接管理所以说找不到push方法。

解决办法:使用react-router-dom的withRouter把非路由变成路由

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值