如何在离线时使用 React Native 应用程序存储数据?

How to store data when offline with a React Native app?

我目前正在创建一个 React Native 应用程序,它将要求用户能够离线存储数据,然后仅一次它就会同步到数据库。我听说过 PouchDB,但不太了解如何实现它,所以对此的建议可能是一个解决方案。

我不确定要使用哪些服务,因为这是我第一次创建完整的 React Native 应用程序。我有使用 React JS、Express 和 Sequelize 的经验,但是我认为我不能将 Sequelize 与 React Native 应用程序一起使用。

我想使用 NoSql 或 MySQL 数据库,但是,我对两者都持开放态度。

任何关于为您提供哪些服务、语言、指南、视频的建议都会很棒,因为我已经坚持了一段时间。

您可以使用 Firebase 的 Cloud Firestore。它是一个 NoSQL、离线优先的数据库,可以像您描述的那样工作,并且非常容易与 React Native 一起使用。

文档:https://rnfirebase.io/firestore/usage

你可以使用 redux-persist。它允许您将数据存储在键值对中。这是我用来离线存储数据并在需要时同步到数据库的工具。 使用 react-redux 时很方便。您可以将减速器列入黑名单或白名单以仅保留来自特定减速器的数据。

这里有一些有用的链接

  1. NPM link
  2. More on redux persist
  3. Setting up

我知道这个问题是一年前提出的,但我在为自己的应用研究离线数据库解决方案时发现了这个问题。

此处的一个回复推荐 Firebase,它完全符合您的问题标准,但我会 谨慎使用它。 Firebase 非常适合在线存储并具有离线存储功能,但并不意味着作为长期的离线存储解决方案。我只是添加了这个警告,因为你说你说“只有一次它会同步到数据库”请参阅我在 Firebase 上找到的一些资源:

我将使用的离线数据库解决方案是 MMKV, an offline storage library developed by WeChat. I found it while looking through this list of offline storage solutions while looking at AsyncStorage (Now Depreciated)

希望此回复也能帮助像我一样的人决定使用哪种存储解决方案! 编辑:该库不适用于 expo。