ReactJS this.props.history.push не существует!this.props не включает историю - PullRequest
0 голосов
/ 24 февраля 2019

Внутри App.js я управляю маршрутизацией (внизу).В обоих классах у меня есть

import {browserHistory} from "react-router";

Когда я нажимаю на изображение, консоль показывает ошибку. Невозможно прочитать свойство 'push' из undefined.Так что мой реквизит не включает в себя объект истории.Как перенаправить пользователя с помощью 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 голосов
/ 24 февраля 2019

Вам нужно обернуть все ваши маршрутизаторы внутри компонента «BrowserRouter» также, если вы пытаетесь использовать метод this.history.push из компонента, который не определен в ваших маршрутах, чем вам нужно обернуть этот компонент с помощью «withRouter (ComponentName)».

...