使用 react-native-sqlite-storage React Native 离线应用

Ina*_*ble 8 android ios react-native redux-persist react-native-sqlite-storage

我是本机反应的新手。我想构建一个离线 React Native 应用程序来存储用户数据(基本用户详细信息、用户个人文档、图像等)。我已经浏览了一些关于 react-native-sqlite-storage 的文档,我想整合它。但不确定,

  1. 如果用户删除应用程序数据时我可以恢复所有用户数据
  2. 使用 react-native-sqlite-storage 比 redux-persist 进行离线应用开发有什么优势?

hel*_*rld 0

redux-persist 存储会保留您的状态。如果您的应用程序主要有 API 驱动的数据,并且您想要保存状态(用户数据、书签、简单列表等),则 redux-persist 可以正常工作,因为它在底层使用异步存储。但是,如果您想捆绑数据,以便大多数应用程序即使在没有互联网的情况下也能运行,并且您想要查询许多数据项,那么理想情况下,sqlite 对我来说似乎是更好的选择。

redux-persist 建立在异步存储之上,它在底层使用基于文件的高效机制。应用程序的应用程序数据主要由应用程序创建的文件组成。我认为,如果您在初始化时创建 SQLite 数据库或使用异步存储,那么当用户选择删除应用程序数据时,它将会丢失。但是,如果您将 sqlite 数据库或类似选项与应用程序捆绑在一起,它将继续保留为应用程序的一部分。在这种情况下,您不需要恢复,因为数据将始终存在。

===我上面的答案似乎是错误的..保留它以供其他人参考===

我后来在一份文档中发现,reactnative-sqlite-storage 将文件复制到内部位置,然后工作,这意味着它也会丢失,除非您在打开数据库调用中使用 readonly:true 属性,这使得它毫无用处