reactjs 如何检测浏览器是否重新加载- React/Typescript

7rfyedvj  于 2023-03-12  发布在  React
关注(0)|答案(1)|浏览(207)

你能帮帮忙吗?
我正在尝试一种方法来检测浏览器是否被重新加载,大多数关于这个问题的答案都是这样的

const typeOfNavigation = (performance.getEntriesByType("navigation")[0] as PerformanceNavigationTiming).type
        
 if(typeOfNavigation === 'reload'){
   localStorage.removeItem('products-list');          
 }

问题是上面的代码,因为用户使刷新浏览器,类型是总是停留像**“重新加载”**和API不存在刷新或清除到“导航”的方法,理想情况下,它会返回到原来的状态。“导航”,但这不会发生,所以我需要的东西dinamic.

我找到了上面的代码,非常适合我,但是已弃用

if(window.event?.type === "loadend"){
   localStorage.removeItem('products-list')
}

简而言之,有人能帮我解决这个问题吗?任何想法都是受欢迎的,我需要知道每次当用户通过f5或点击按钮刷新浏览器时,
观察结果:我正在使用React/ typescript
先谢了

nbysray5

nbysray51#

您可以侦听beforeunload事件。当用户离开页面、关闭窗口/选项卡或重新加载页面时,将触发此事件。Documentation

相关问题