首页 > 解决方案 > 当 React 本机应用程序启动时,如何在设备上保存/缓存所有数据以便在后台快速加载和更新?

问题描述

我使用 axios 进行 API 调用,并使用异步存储来存储一些详细信息,例如用户配置文件等。但是异步存储似乎很慢。

我的应用程序的关键功能需要互联网才能工作,但许多屏幕的内容不会实时或始终更新。如何将所有这些信息保存在本地,以便每当启动应用程序的新会话时,屏幕显示已完全加载,而不是从 API 查询数据并显示加载器,信息更新可以在后台发生。就像所有主要应用程序的工作方式一样,不加载已加载的内容,而是以某种方式将其保存在设备本身上,但同时允许在有新信息时进行更新。

应用程序中存储所有信息的某种数据库会起作用吗?如果是的话,最好使用 Redux、Axios 实现,它速度快而不像异步存储那么慢?

标签: androidiosreact-nativereduxreact-redux

解决方案


异步存储应该可以正常工作。要实现这一点,您需要确保仅在第一次启动应用程序时使用 API 数据,而不是在后续启动时使用。然后添加一个检查更新的更新函数。这是一个粗略的实现。

  1. 当 App 加载时,尝试从本地存储中获取数据。如果是第一次启动,则存储中没有任何内容,因此从 API 获取数据。

  2. 一旦数据回来。将其保存到本地存储以供下次应用启动。显示数据。

  3. 如果数据存在于本地存储中(后续启动),您将需要发送 API 调用以获取最新数据。数据返回后,将其放入本地存储中。确保这不是阻塞调用。是否要更新屏幕上的当前数据取决于您。


推荐阅读