Visibility.js 不会触发状态更改

时间:2021-06-17 10:13:10

标签: reactjs visibilitychange

在我的反应项目中导入了 visibility.js 包,如果用户从后台打开 web 视图并且超过 5 分钟,我将使用它来重新呈现页面,在我的一个钩子中,我有简单的实现:

useEffect(() => {
 let initialTime = 0
 const limit = 5 * 60 // 5 min.
 const listener = Visibility.change(function (e, state) {
   if (Visibility.hidden()) {
     initialTime = (new Date().getTime()) / 1000
   } else {
     const currentTime = (new Date().getTime()) / 1000
     updatePage()
    }
  }
})

 return () => {
   Visibility.unbind(listener)
 }
}, [])

如果您在 10 分钟或 1 小时左右打开,这会起作用,但注意到它在后台长时间离开网络后不起作用,就像一夜之间...我正在 iPhone 12,V14 上进行测试.6. 做了一些研究,但找不到关于这个特定案例的任何想法,也许有人有同样的问题,可以分享您的经验,谢谢。

0 个答案:

没有答案