8

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

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

1 回答 1

0

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

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

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

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

于 2020-05-21T16:48:49.733 回答