javascript - 更新 React [Native] 查看日变化

标签 javascript ios reactjs settimeout react-native

我正在开发一个 React Native 组件,即使用户没有与 View 交互,它也应该在日期变化时自行更新。

setInterval 是处理这个问题的唯一方法吗?如果我在 viewDidLoad 中调用 setTimeout 指定直到第二天的毫秒数,如果应用暂停,时间间隔会不会不准确?或者,我可以运行一个定期计时器,但我需要给它一个较短的间隔,以便在日期变化时不会出现明显的延迟 - 似乎效率很低。

我错过了什么吗?

最佳答案

我认为这更多的是一个普遍的应用程序架构问题。最简单的答案是您应该以秒为单位获取当前时间 (new Date().getTime()),确定距离第二天还有多少秒,并为该数字设置一个计时器。

但是,正如您提到的,一旦应用程序被终止,该计时器将不再准确。

您应该使用AppStateIOS监听应用程序何时处于后台和前台。发送到后台后,清除计时器。进入前台后,再次运行原始计算并生成新的计时器。

遗憾的是,Android 上目前还没有等效的功能。

关于javascript - 更新 React [Native] 查看日变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34430704/

相关文章:

IOS-重新打开应用程序后导航到主视图

javascript - 如何在 react 中将日期/时间转换为人类可读的形式?

javascript - 如果网络离线,使用 if 语句跳过获取

Javascript 数组表分页

javascript - 使用 React JSX 设置的可选属性

ios - ios 7中的区域监控

ios - 滑动控制像锁屏 objective-c

reactjs - 身份服务器注册不会重定向回 React 应用程序

javascript - Node.js 脚本工作一次,然后失败

javascript - 返回两个圆之间的 x,y 交点的 JavaScript 函数?