react-router-dom - link 和 history.push 之间的区别?
react-router-dom - Difference between link and history.push?
href和link的区别我懂了
但我想知道使用 link 和使用 history.push 的路由器之间的区别?
如果我已经访问过该页面,history.push 会在缓存中检索该页面吗?
使用Link:
<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>
使用 Link 您可以导航到另一个 "page",方法是包装一个按钮,然后在单击时进行重定向。大多数情况下,这就是您可能想要做的。
但在某些情况下,您想以编程方式导航到另一个 "page"。例如,当您的应用程序发生变化时,与单击按钮或 link 无关。
因此您可以使用 history.push 以编程方式更改 url,而无需单击按钮或 link。 =)
href和link的区别我懂了
但我想知道使用 link 和使用 history.push 的路由器之间的区别? 如果我已经访问过该页面,history.push 会在缓存中检索该页面吗?
使用Link:
<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>
使用 Link 您可以导航到另一个 "page",方法是包装一个按钮,然后在单击时进行重定向。大多数情况下,这就是您可能想要做的。 但在某些情况下,您想以编程方式导航到另一个 "page"。例如,当您的应用程序发生变化时,与单击按钮或 link 无关。
因此您可以使用 history.push 以编程方式更改 url,而无需单击按钮或 link。 =)