Hay una función llamada getSomethingTEST que estoy usando para obtener los datos. Luego tengo un botón 'temporal' onPress={getSomethingTest}, pero probablemente será un efecto de uso, no un botón. Más tarde iba a configurar mi estado var "dataFB" en la matriz tempStore. Pero mi problema es... No sé cómo... Así que traté de consola.Registrar mis resultados de tempStore. Y obtuve esto ... los resultados en la consola , que creo que es un objeto anidado dentro de una matriz. Así que probé algunas cosas básicas como tempStore[0].name pero, por supuesto, no está definido. Además, no estaba seguro de cómo hacer referencia a una clave de un objeto que tiene un espacio. Para este ejemplo fue "Asem Jawa".
const firebaseApp = initializeApp({ apiKey: "Hidden", authDomain: "Hidden", projectId: "Hidden", }); const db = getFirestore(); const col_p = collection(db, "WNA-Pasteur"); const docRef = doc(db, "WNA-Pasteur", "branchData"); const [dataFB, set_dataFB] = useState([]); async function getSomethingTEST() { const tempStore = []; const docSnap = await getDoc(docRef); tempStore.push(docSnap.data()); console.log(tempStore); }Está obteniendo un solo documento y docSnap.data() es un objeto que contiene los datos de ese documento. No tienes que empujarlo en una matriz de esa manera.
async function getSomethingTEST() { const docSnap = await getDoc(docRef); console.log(docSnap.data().name) } Esto debería registrar el nombre, pero en su caso, no tiene un name de propiedad en su objeto, por lo que no estará definido.
No estaba seguro de cómo hacer referencia a una clave de un objeto que tiene un espacio.
Puedes usar la notación de corchetes :
console.log(docSnap.data()["Asem Jawa"] || "Field missing")