【问题标题】:Firebase error: (app/invalid-app-argument) in react nativeFirebase 错误:(app/invalid-app-argument)在本机反应
【发布时间】:2020-08-24 19:33:38
【问题描述】:

当我运行这段代码(react native)时,出现以下错误:

FirebaseError:Firebase:firebase.database() 不接受任何参数或 Firebase 应用实例。 (app/invalid-app-argument)。

这是代码(当我在其他文件(在同一个项目中)运行类似代码时效果很好):

import React from "react";
import { View, Text } from "react-native";
import * as firebase from "firebase";

class screen extends React.Component {

  componentDidMount() {
    firebase.auth().onAuthStateChanged((user) => {
      if (user) {
        firebase
          .database()
          .ref("users/" + user.uid + "/keys")
          .on("value", function (snapshot) {
            console.log(snapshot.val()); //works
            snapshot.forEach(function (childSnapshot) {
              console.log("hello"); //works
              var key = childSnapshot.val();
              firebase
                .database("users/" + key + "/whatever")
                .on("value", function (snapshot) {
                  console.log(snapshot.val()); //Doesn't work
                });
            });
          });
      }
    })
  }

  render() {
    return (
      <View>
       <Text>Hello</Text>
      </View>
    );
  }
}

export default screen;

【问题讨论】:

  • 你确定错误信息是指这段代码吗?如果是这样,您是如何建立这种联系的?
  • 您似乎没有正确初始化 Firebase。假设 react-native-firebase,那么您需要按照 here 的说明设置配置,并且应该导入 @react-native-firebase/database 而不是原始 Firebase SDK。如果您没有使用第三方库,那么您在此处共享的代码不会产生所描述的错误。
  • 这是 react native,这不是你使用 firebase 和 react-native 的方式。跟随指南

标签: javascript reactjs firebase react-native firebase-realtime-database


【解决方案1】:

好的,我想通了。我不得不在“ref()”而不是“database()”中写数据库的引用......愚蠢的错误哈哈

【讨论】: