gpt4 book ai didi

Javascript firebase.database().ref.on(...) 返回 null

转载 作者:行者123 更新时间:2023-11-30 09:18:55 26 4
gpt4 key购买 nike

我认输了。我似乎无法弄清楚这一点。我已经设置了一个 firebase 应用程序,只是想对数据做一个简单的请求,但它返回 null。我的数据库当前设置为公开,因此不应该有任何权限问题。我可以使用 npm 包 react-firebaseui/StyledFirebaseAuth 成功进行身份验证并取回用户信息,因此它在某种程度上可以正常工作,但我就是无法从数据库中获取数据。我已经多次查看文档并尝试在此处搜索问题,但似乎找不到任何东西。我试图做到彻底。所以这基本上就是我所拥有的...

// The actual config in the code is copied directly from the firebase general settings page, so if it isn't right, it isn't right on their page.
const config = {
apiKey: "someKey",
authDomain: "myAppId.firebaseapp.com",
databaseURL: "https://myAppId.firebaseio.com",
projectId: "myAppId",
storageBucket: "myAppId.appspot.com",
messagingSenderId: "mySenderId"
};
const handleSnapshot = (snapshotVal) => {
console.log(snapshotVal);
// Using react hence the setState, but this and the console.log return null
this.setState({data: snapshotVal});
}

firebase.initializeApp(config);

database = firebase.database()
countriesRef = database.ref('countries');
countriesRef.on('value', function(snapshot) {
handleSnapshot(snapshot.val());
});

我也试过...countriesRef = database.ref('/countries');...和...countriesRef = database.ref('/countries/');...为了更加确定,我已经从 firebase 中复制/粘贴了名称。

这是数据库的屏幕截图...

Firebase Screengrab

最佳答案

Firebase 提供两种不同类型的数据库:Realtime数据库和Firestore .

从屏幕截图中,我看到您正在使用 Firestore 数据库,但您正在连接到实时数据库。

首先,初始化 Firebase(在您的示例中没问题):

firebase.initializeApp(config);

然后,您需要连接到 Firestore:

// Initialize Cloud Firestore through Firebase
const db = firebase.firestore();

// Disable deprecated features
db.settings({
timestampsInSnapshots: true
});

现在,当您连接上后,就可以开始您的第一个请求了:

const countriesRef = db.collection("countries");

countriesRef.get()
.then((snapshot) => {
snapshot.docs.forEach(doc => {
console.log(doc.data())
})
})
.catch((error) => {
console.log("Error getting countries:", error);
});

关于Javascript firebase.database().ref.on(...) 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53111696/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com