防止 react-native 中的陈旧数据

Preventing stale data in react-native

这个问题会比较开放,可能不仅仅局限于react-native

我有一个典型的搜索列表,它是从我们的后端获取的。我正在尝试找到防止向用户显示陈旧数据的最佳方法 - 特别是如果他们最小化应用程序并稍后返回。我正在考虑使用 https://github.com/ocetnik/react-native-background-timer 这个,但也许有更好的方法来实现这个?

另外快速说明一下,我的堆栈是:react-navigation、redux、redux-persist

如果我对你的问题的理解正确,你真的不需要使用单独的库来实现所需的行为。

您已经有 AppState natively from react-native and events for listening screen states from react-navigation library (addListener) 的活动。您可以组合这些事件并检测应用和re-render您的搜索结果或重置数据的变化。

好问题,但我的回答不会在 code 范围内。

只要用户看到数据,数据就会过时。

站在产品制造者的角度。使您的数据缓慢陈旧的最佳方法是 "Dont show all you have".

那么,我们如何实施该理论?

几乎大多数人并没有真正注意他们所看到的。他们会尽快忘记任何事情,不注意的事情。

因此,您不需要计时器系统来检查和整理数据。跟踪用户行为是一种更复杂但更有效的解决方案。

它可以在您的客户端或服务器中完成。

简单例子:

存储用户看到你的数据的时间点(可能在AsyncStorage中),做一个逻辑来检查并选择下次你的用户回来时是否续订。

与使用计时器系统相比,这是非常简单和轻量级的解决方案。

更复杂的示例:

跟踪用户会话、他们查看的内容类型以及他们在此内容上花费的时间。

用他们看过的东西的关系内容替换看过的内容。

Note: The rn-background-timer work not as good as they advertised.