firebase.database.ref不是函数错误
2019-04-09
11311
我尝试从我的数据库读取/写入数据,但总是出现此错误:
firebase.database.ref is not a function error
以下是我将 Firebase 包含到项目中的方法:
<script src="https://www.gstatic.com/firebasejs/5.9.3/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.9.3/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.9.3/firebase-database.js"></script>
然后:
<script>
var config = {
...
};
firebase.initializeApp(config);
</script>
Firebase Auth 工作正常。但是当我执行此操作时:
function insertUser(user,name) {
var ref = firebase.database.ref();
ref.collection("users").doc(user.uid).set({
uid: user.uid,
email: user.email,
name: name
})
.then(function() {
console.log("Document successfully written!");
})
.catch(function(error) {
console.error("Error writing document: ", error);
});
}
我出现上述错误。我做错了什么?
3个回答
database()
是一种方法,因此将其更改为以下内容:
var reference = firebase.database().ref();
最好不要有相同的变量和方法名称。
Peter Haddad
2019-04-09
我也遇到了使用最新 firebase 库时找不到数据库函数的问题。经过研究,我发现这是由于我为数据库导入的 Javascript 造成的:
之前我使用以下脚本,但不起作用:
<script src="https://www.gstatic.com/firebasejs/7.16.0/firebase-app.js"></script>
从脚本 URL 中删除 -app 后,它开始工作:
<script src="https://www.gstatic.com/firebasejs/7.16.0/firebase.js"></script>
希望这对其他人有帮助。
bharatpatel
2020-07-15
如果您要将 firestore(数据库)模块导入某个 React 组件,请确保在主 firebase 文件中导入
"firebase/database"
并导出
export const firestore = app.database()
Firebase.tsx
import firebase from "firebase/app"
import "firebase/auth"
import "firebase/database"
const app = firebase.initializeApp({
apiKey: process.env.REACT_APP_FIREBASE_API_KEY,
authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN,
databaseURL: process.env.REACT_APP_FIREBASE_DATABASE_URL,
projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,
storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,
messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID,
appId: process.env.REACT_APP_FIREBASE_APP_ID
})
export const firestore = app.database()
export const auth = app.auth()
export default app
myComponent.tsx
import React from "react";
import {firestore} from '../../../Firebase'
export default function Home() {
const db = firestore.refFromURL("https://<project>.firebaseio.com")
return (
...
)
}
Filip Vrlák
2020-11-07