response-router-dom - Разница между ссылкой и history.push? - PullRequest
0 голосов
/ 18 ноября 2018

Разницу между href и ссылкой я понимаю.

Но я хочу знать разницу между использованием ссылки и withrouter с history.push? Если я уже зашел на страницу, можно ли history.push извлечь страницу в кеше?

Использование ссылки:

<Link className="btn btn-primary" onClick={logout} to="/">
 Log out
</Link>

Использование истории:

constructor(props) {
        super(props);
        this.handleLogout = this.handleLogout.bind(this);
    };

    handleLogout(e) {
        const { history } = this.props;
        logout()
        history.push("/");

    }
<button type="button" onClick={this.handleLogout}>Log out</button>

1 Ответ

0 голосов
/ 18 ноября 2018

С помощью ссылки вы можете перейти на другую «страницу», обернув, например, кнопку и выполнить перенаправление при нажатии.В основном это то, что вы, вероятно, хотите сделать.Но в некоторых случаях вы хотите перейти на другую «страницу» программно.Например, когда что-то меняется в вашем приложении, это не имеет никакого отношения к нажатию кнопки или ссылки.

Таким образом, вы можете использовать history.push для программного изменения URL-адреса без необходимости нажатия кнопки или ссылки.=)

...