ReactJS this.props.history.push不存在! this.props不包含历史记录

时间:2019-02-24 07:53:52

标签: javascript reactjs redirect missing-data browser-history

在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>
    );

1 个答案:

答案 0 :(得分:0)

如果您试图从路由中未定义的组件中使用this.history.push方法,也需要将所有路由器都包装在“ BrowserRouter”组件中,而不是用“ withRouter( ComponentName)”。