1

在我的反应项目中导入了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 上进行测试。做了一些研究,但找不到关于这个特殊案例的任何想法,也许有人有同样的问题,可以分享你的经验,谢谢。

4

0 回答 0