Firebase可以使用React Native脱机工作吗?

bgo*_*son 5 ios firebase react-native

我有一个现有的iOS应用程序,我想开始添加一些React Native屏幕.该应用使用Firebase并启用了持久性,以便脱机工作.有没有办法在React Native中直接使用Firebase,同时保持脱机功能?

如果答案为"是",iOS和React Native是否共享同一本地数据存储?这很重要,因此iOS屏幕上的离线数据更改将反映React Native屏幕所做的数据更改,反之亦然.

感谢您分享您的见解!

use*_*643 10

或者,您可以使用Firestack,它是一个本机库,可以在iOS和Android上使用本机.

启用脱机支持以及存储,实时数据库,身份验证,远程配置(开发中)等.

(披露:我是Firestack的主要作者之一)

  • 是的,这是一个答案,也是一个很好的答案,如果他创建了回购品,那会是什么问题? (3认同)
  • 啊,你是对的,但它仍然是一个很好的库,可以将RN与Firebase,imho联系起来. (2认同)

Fra*_*len 6

Firebase的离线磁盘持久性目前仅适用于其原生iOSAndroid SDK.它尚不适用于JavaScript SDK.

  • 现在可以https://firebase.google.com/docs/database/web/offline-capabilities (2认同)
  • @rebelliard目前该页面仅讨论临时连接丢失,在这种情况下,Firebase始终继续运行.但Firebase数据库的Web客户端不会跨页面重新加载数据. (2认同)

Dan*_*rov 6

离线状态下,javascript SDK会保留新的写请求,并且在线后会与服务器同步。但是,如果您希望显示一个包含以前从firebase提取的数据的列表,那么您对Javascript不走运。答案之一是提及Firestack,但不再受支持。

在一个项目中,我最终安装了此软件包https://github.com/invertase/react-native-firebase。它是Firebase本地ios和Android SDK的桥梁,如果使用它,还可以使用持久性。

经过测试和验证。一切都很好!:)


reb*_*ard 5

更新:

过时的:

  • 从 Firebase JavaScript SDK 3.1.0 开始,离线持久性仍然不可用。推荐你使用 React Native 的AsyncStorage


Wal*_*cke 5

上面所有的答案都已经过时了

2020 年 7 月起,当您使用react-native-firebase时,即可开箱即用地支持离线持久性。

在这里阅读更多信息:https ://rnfirebase.io/firestore/usage#offline-capability