我正在嘗試將 Firestore (v 9.6.7) 連接到我的應用程式。我正在使用 web 9 語法。我的代碼幾乎直接來自這里的指南。
看起來像:
import { initializeApp } from 'firebase/app';
import { getFirestore } from 'firebase/firestore';
import { collection, getDocs } from "firebase/firestore";
// Initialize Firebase
const firebaseConfig = {
apiKey: ...
authDomain: ...,
projectId: ...,
storageBucket: ...,
messagingSenderId:...,
appId: ...,
measurementId: ...
};
// Initialize Firebase
const app = initializeApp(firebaseConfig);
const db = getFirestore(app);
// Read collection from Firestore and print it
const querySnapshot = getDocs(collection(db, "Users"));
console.log(querySnapshot);
export {
db
}
回傳的承諾是:
承諾{“_U”:0,“_V”:0,“_W”:空,“_X”:空,}
怎么了?
謝謝。
uj5u.com熱心網友回復:
朋友,當我告訴你我連續兩天為此苦苦掙扎時,我的意思是連續兩天 8 小時。
答案在firebase的來源中。
您需要做的第一件事是將metro.config.js檔案添加到專案的根目錄。在里面添加以下內容:
const { getDefaultConfig } = require("metro-config");
const { resolver: defaultResolver } = getDefaultConfig.getDefaultValues();
exports.resolver = {
...defaultResolver,
sourceExts: [
...defaultResolver.sourceExts,
"cjs",
],
};
這將允許“cjs”源擴展。
另一種從 Firestore 列印收藏的好方法是這樣的:
const db = getFirestore()
const colRef = collection(db, "collection")
getDocs(colRef)
.then((snapshot) => {
let collection = []
snapshot.docs.forEach((doc) => {
collection.push({...doc.data(), id: doc.id })
})
})
這是一種以更友好的方式列印到控制臺的好方法。
試試這個,看看它是否有效。如果沒有,請發表評論,以便我進一步提供幫助。
我想標記 metro.config.js 檔案的原始 stackoverflow 答案,因為我沒有自己想出這個但我找不到它。如果我這樣做,我將使用信用鏈接編輯這篇文章。
編輯:找到了。信用在這里。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/495145.html
標籤:javascript 火力基地 反应式 谷歌云火库 世博会
