changeRoutePath = (e) =>{
e.preventDefault();
this.props.onClose();
this.props.history.push('/company/orgStructure');
};
<Link
to={{
pathname: '/company/orgStructure',
state: {
fromNotifications: true
}
}}
onClick={(e) => this.changeRoutePath(e)}>
Prevent
</Link>
我遇到了Uncaught TypeError错误:无法读取未定义的属性'push'
需要进入/ company / orgStructure页面并获取一些状态信息!怎么做?
如果我只使用没有onclick的链接,则不能使用this.props.onClose来关闭模式。如何推送信息并转到orgStructure?
console.log(this.props);
bgClose: false
className: ""
container: true
employeeCode: "00-005424"
escClose: false
onClose: ƒ ()
open: true
showModalEmployeeShortProfile: ƒ ()
stack: true
template: null
title: "Профиль сотрудника"
width: 960
答案 0 :(得分:0)
如果您的组件未与react-router-dom绑定,则您不会在道具中获取它们的方法,在这里您将无法访问位置,历史记录以及在您的道具中进行匹配,这些道具是来自react router的道具。表示您的组件未与路由器连接。
您只需要从反应路由器dom(这是一个HOC)中导入Router,然后将组件包装在其中,这样您就可以访问道具中的历史记录。
import {withRouter} from 'react-router-dom'
class yourComponent extends React.Component{
render(){}
}
export default withRouter(yourComponent)