如何修复 React Native 中的 Firebase/firestore 错误?

Posted

技术标签:

【中文标题】如何修复 React Native 中的 Firebase/firestore 错误?【英文标题】:How can I fix Firebase/firestore error in React native? 【发布时间】:2019-11-01 20:19:38 【问题描述】:

我正在尝试在 android 模拟器上运行 React Native 应用程序。我正在使用 Firebase Firestore。

该应用程序在 Expo 中正常工作。 Expo 使用旧版本的 React Native。但是在设备中构建应用程序时,降级 React Native 会引发错误。这些是屏幕截图错误:

我已尝试降级到 Firebase 的 6.0.2 版本。

这是我的 Firebase 配置:

import Rebase from "re-base";
import * as firebase from "firebase";
import 'firebase/firestore';

const firebaseApp = firebase.initializeApp(
  apiKey: "XXXX",
  authDomain: "XXX",
  projectId: "dg-vis",
  databaseURL: "XXX",
);

const base = Rebase.createClass(firebaseApp.database());

export  firebaseApp ;

export default base;

获取部分:

componentDidMount() 
  const db = firebaseApp.firestore();
  let id = "somesupersecretid9";

  const fetchData = async () => 
    let doc = await db
      .collection("drivers")
      .doc(id)
      .get();

    this.setState(route: doc.data());
  ;

  fetchData();

  db.collection("drivers")
    .doc(id)
    .onSnapshot(doc =>
      this.setState(route: doc.data(), () =>
        this.decodeMap()
      )
    );

【问题讨论】:

尝试将您的配置从 import * as firebase from "firebase"; import 'firebase/firestore' 更改为 import * as firebase from 'firebase/app'; import 'firebase/auth' 【参考方案1】:

已通过将 Firebase 降级到版本 6.0.2 解决了这个问题。清理项目的缓存是解决方案。

清洁说明:

/android 文件夹中运行./graglew clean

也可以使用https://www.npmjs.com/package/react-native-clean-project 包。

【讨论】:

以上是关于如何修复 React Native 中的 Firebase/firestore 错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何修复React-Native中的“路由组件'Principal'必须是React组件”错误

如何修复“react-native-spinkit:未指定”

如何修复导入错误:来自“react-native-web”的“requireNativeComponent”

如何修复这个 react-native iOS 错误?

如何修复错误读取“node_modules/react-native/ReactCommon/yoga/yoga/log.cpp”React Native

如何修复 React Native Agora 异步错误