使用 react-native-sqlite-storage 反应原生离线应用程序

Posted

技术标签:

【中文标题】使用 react-native-sqlite-storage 反应原生离线应用程序【英文标题】:React Native offline App using react-native-sqlite-storage 【发布时间】:2020-07-28 09:28:49 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

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

===我上面的回答好像错了..留着供别人参考===

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

【讨论】:

我对 react native 中的 sqlite 有一些问题,你能帮帮我吗? 请分享您的查询@shira。如果是更大的主题,您可能需要创建一个单独的主题。 this is the link to my topic

以上是关于使用 react-native-sqlite-storage 反应原生离线应用程序的主要内容,如果未能解决你的问题,请参考以下文章

在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?

今目标使用教程 今目标任务使用篇

Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)

MySQL db 在按日期排序时使用“使用位置;使用临时;使用文件排序”

使用“使用严格”作为“使用强”的备份

Kettle java脚本组件的使用说明(简单使用升级使用)