这将是一个更开放的问题,也许不仅限于反应原生。
我有一个典型的搜索列表,取自我们的后端。我正在尝试找到防止向用户显示陈旧数据的最佳方法 - 特别是如果他们最小化应用程序并稍后返回它。我正在考虑使用 https://github.com/ocetnik/react-native-background-timer 这个,但也许有更好的方法来实现这一目标?
另外作为一个快速说明,我的堆栈是:反应导航,redux,redux-persist
一个好问题,但我的答案不会在代码范围内。
每当用户看到数据时,数据就会过时。
从产品制造商的角度来看。使数据缓慢到过时的最佳方法是"不要显示您拥有的所有内容"。
那么,我们如何才能实现这一理论呢?
几乎民族并不真正注意他们所看到的。他们会尽快忘记任何事情,什么不会让他们的眼睛。
因此,您不需要计时器系统来检查和随机播放数据。跟踪用户行为是一种更复杂但有效的解决方案。
它可以在您的客户端或服务器中完成。
简单的例子:
存储用户看到您的数据的时间点(可能在 AsyncStorage 中),制定一个逻辑来检查并选择下次用户回来时续订或不续订。
这是比使用定时器系统更简单和轻量级的解决方案。
更复杂的示例:
跟踪用户会话、他们查看的内容类型以及他们在此内容上花费的时间。
将查看的内容替换为他们查看的事物的关系内容。
Note: The rn-background-timer work not as good as they advertised.
如果我正确理解了您的问题,您实际上不需要使用单独的库来实现所需的行为。
您已经有一个来自 react-native 的 AppState 原生事件和来自 react-navigation 库 (addListener
) 的侦听屏幕状态的事件。您可以合并这些事件并检测应用的更改,并重新呈现搜索结果或重置数据。