【发布时间】:2019-01-13 18:15:24
【问题描述】:
我使用 React 和 React Router 编写了 webapp。
使用 window.location.href 重定向与使用通过 react-router 提供的组件有什么优缺点吗?
【问题讨论】:
-
window.location.href将完全重新加载浏览器,但使用history.push、history.replace或Link组件不会导致浏览器刷新。
我使用 React 和 React Router 编写了 webapp。
使用 window.location.href 重定向与使用通过 react-router 提供的组件有什么优缺点吗?
【问题讨论】:
window.location.href 将完全重新加载浏览器,但使用history.push、history.replace 或Link 组件不会导致浏览器刷新。
如果您不想重新加载浏览器窗口,请使用history.push('/page-name'),如果您想重新加载,请使用 window.location.href。通常在使用 React Router 时,默认行为是使用更具体的 history.push (this.props.history.push('/page-name'),因为应用程序的其余导航已经使用 React Route 的 <Link>,它具有相同的效果。
【讨论】:
React-Router 提供了一个接口,可以通过修改history 或使用Redirect component 来更改URL。
React-Router 接口比仅仅操作window.location.href 更具表现力。我认为使用 React-Router 的主要优点是增加了功能、抽象和更简洁的界面。不知道有什么真正的性能差异。
【讨论】: