Jas*_*llo 6 javascript reactjs
有人会认为componentWillUnmount()在关闭应用程序时会触发 in react。根据文档,componentWillUnmount()在卸载它或它的相关组件被销毁时触发。为什么不关闭窗口或选项卡卸载组件?
Jos*_*son 10
如果可以的话,React 会这么做,但想一想:关闭浏览器窗口意味着丢弃页面上的所有 HTML、CSS 和 JS。即使它利用了该onbeforeunload事件,当组件即将被丢弃时再去卸载它们也是一种浪费,并且会减慢页面的关闭速度。从历史上看,没有一种好的方法可以在选项卡关闭时运行任何代码。
不过,如果您希望在浏览器关闭时通过网络发送数据,有一个名为Beacon API的实验性API 尝试解决此问题。
生命周期方法是在组件的不同阶段执行的自定义功能。当组件被创建并插入到 DOM 中(挂载)时、组件更新时以及组件从 DOM 中卸载或删除时,都有可用的方法。
关闭窗口/选项卡会触发浏览器onbeforeunload事件:
当窗口即将卸载其资源时,会触发这些事件。
window.addEventListener("beforeunload", function(event) { ... });
window.onbeforeunload = function(event) { ... };
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2270 次 |
| 最近记录: |