在App.js内部,我管理路由(下图)。在这两个课程中,我都有
import {browserHistory} from "react-router";
当我单击图像时,控制台显示错误“无法读取未定义的属性'push'”。因此,我的道具不包含历史对象。如何使用browserHistory重定向用户?
////
<Router history={browserHistory}>
<div>
<Route path="/profile" component={MyProfile} />
</div
</Router>
/// The code above is in a different class
myprofile(props) {
this.props.history.push('/profile');
}
return (
<React.Fragment>
<img src="../images/my-profile.png" alt="profile" className="myprofile" id="myprofile" onClick={this.myprofile.bind(this)} />
</React.Fragment>
);
答案 0 :(得分:0)
如果您试图从路由中未定义的组件中使用this.history.push方法,也需要将所有路由器都包装在“ BrowserRouter”组件中,而不是用“ withRouter( ComponentName)”。