私の反応プロジェクトでは、visibility.jsパッケージがインポートされています。これは、ユーザーがバックグラウンドから Web ビューを開いて 5 分以上経過した場合にページを再レンダリングするために使用しています。フックの 1 つに簡単な実装があります。
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 時間程度で開くと機能しますが、一晩中など、長時間 Web をバックグラウンドに置いたままにしておくと機能しないことに気付きました... IPhone 12、V14.6 でテストしています。いくつかの調査を行いましたが、この特定のケースに関するアイデアを見つけることができませんでした。おそらく誰かが同じ問題を抱えていて、あなたの経験を共有できます。ありがとう.