【发布时间】: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