我正在开发一个 React Native 组件,即使用户没有与 View 交互,它也应该在日期变化时自行更新。
setInterval
是处理这个问题的唯一方法吗?如果我在 viewDidLoad
中调用 setTimeout
指定直到第二天的毫秒数,如果应用暂停,时间间隔会不会不准确?或者,我可以运行一个定期计时器,但我需要给它一个较短的间隔,以便在日期变化时不会出现明显的延迟 - 似乎效率很低。
我错过了什么吗?
最佳答案
我认为这更多的是一个普遍的应用程序架构问题。最简单的答案是您应该以秒为单位获取当前时间 (new Date().getTime()
),确定距离第二天还有多少秒,并为该数字设置一个计时器。
但是,正如您提到的,一旦应用程序被终止,该计时器将不再准确。
您应该使用AppStateIOS监听应用程序何时处于后台和前台。发送到后台后,清除计时器。进入前台后,再次运行原始计算并生成新的计时器。
遗憾的是,Android 上目前还没有等效的功能。
关于javascript - 更新 React [Native] 查看日变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34430704/