【问题标题】:What's the difference between Firebase JavaScript SDK and react-native-firebaseFirebase JavaScript SDK 和 react-native-firebase 有什么区别
【发布时间】:2019-03-06 10:32:49
【问题描述】:

我正在尝试将 Firebase (Cloud Firestore) 用于 react-native 应用程序,以存储我的 JSON 对象。

我看到有人在他们的 apps(npm install firebase)中使用 Firebase,还有其他人使用 react-native-firebase。

大多数博客都说 Firebase 本身就是为 Web 设计的,所以他们的 react-native 支持没有/更少。而其他一些 blogs 和 firebase 官方 blog 则表示 Firebase 支持 react-native。

我不确定为我的 react-native 项目选择哪个库,它们之间有什么区别。

【问题讨论】:

    标签: firebase react-native google-cloud-firestore react-native-firebase


    【解决方案1】:

    根据project description on GitHub

    React Native Firebase 是一个轻量级的 javascript 层连接 您可以使用适用于 iOS 和 Android 的原生 Firebase SDK 尽可能地镜像官方 Firebase Web SDK。

    虽然官方的 Firebase JS SDK 可以与 React Native 一起使用;它 主要是为网络构建的,与 本机。

    所以,你应该选择它,用于反应原生平台。这将允许您使用更多功能,并受益于使用原生 sdk(速度、内存消耗等)

    【讨论】:

    • 感谢您的回复。它有帮助。虽然,谈到“有限的功能集”,我的要求包括在 JSON 对象中简单编辑一个数组,Firebase JS SDK 支持 (firebase.google.com/docs/firestore/manage-data/…),但我在 react-native-firebase 上找不到这样的方法.不知道是不是真的在镜像!!!
    • @kernelman firebase 实际上不适用于数组(至少不是,正如您所期望的那样),请查看文档
    • @kernelman arrayUnionarrayRemove 操作是 Cloud Firestore 的新增功能。跟踪将它们添加到 react-native-firebase 时存在问题:github.com/invertase/react-native-firebase/issues/1389release notes 表示 arrayContains 已添加到 5.0.0,arrayUnionarrayRemove 支持“即将推出”。
    【解决方案2】:

    从 Dima Rostopira 的回答中加起来。

    在使用 expo 时需要在 react native 中使用 JS SDK。 因为 expo 不允许你添加自定义的原生模块。 否则使用 react native SDK

    【讨论】:

      猜你喜欢
      • 2019-09-29
      • 2016-04-11
      • 2016-09-17
      • 1970-01-01
      • 2016-12-12
      • 2015-04-24
      • 2023-03-19
      • 2017-08-14
      相关资源
      最近更新 更多