【发布时间】:2015-12-26 18:45:56
【问题描述】:
我想在用户离开网站时向我的 API 服务器发送一个清理请求(实际上是关闭选项卡/浏览器,而不仅仅是更改 SPA 中的页面)。在使用 React 和 React Router 的应用程序中是否有一种惯用的方法来做到这一点? componentWillUnmount 会在页面关闭时触发吗?我想不会。
【问题讨论】:
标签: javascript reactjs react-router redux
我想在用户离开网站时向我的 API 服务器发送一个清理请求(实际上是关闭选项卡/浏览器,而不仅仅是更改 SPA 中的页面)。在使用 React 和 React Router 的应用程序中是否有一种惯用的方法来做到这一点? componentWillUnmount 会在页面关闭时触发吗?我想不会。
【问题讨论】:
标签: javascript reactjs react-router redux
React 在这里没有为你做任何特别的事情。做你通常为此做的事情。另外,请参阅a related question的答案
放置此订阅代码的最佳位置是componentDidMount 生命周期方法。并且不要忘记在componentWillUnmount 上取消订阅以防止泄漏。
【讨论】:
componentDidMount 和componentWillUnmount 中添加window.onbeforeunload = this.function 解决了我同样的问题