Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

287
Visualizações
Cómo devolver datos de una consulta de Firestore a una FlatList

Soy nuevo en React-Native y estoy tratando de devolver la matriz de datos de la primera consulta a la pantalla del dispositivo donde puedo configurar Dispositivos. Tenía esto funcionando usando .get() y .then(), pero no estaba obteniendo los eventos actualizados, así que me mudé a onSnapshot y parece que tengo datos al final de la consulta, pero no puedo configurar esto en la pantalla.

 import React, { useEffect, useRef, useState } from "react"; import { Alert,FlatList,RefreshControl,StatusBar,Text,View } from "react-native"; import { TouchableOpacity } from "react-native-gesture-handler"; import styles from "./styles"; import { getDevices } from "../../services/devices"; import { useNavigation } from "@react-navigation/native"; import { Feather } from "@expo/vector-icons"; import CircularProgress from "react-native-circular-progress-indicator"; import { removeDevice } from "../../redux/actions"; import { useDispatch } from "react-redux"; import firebase from "firebase/app"; import "firebase/firestore"; const wait = (timeout) => { return new Promise((resolve) => setTimeout(resolve, timeout)); }; export default function DevicesScreen() { const [devices, setDevices] = useState([]); const [loading, setLoading] = useState(false); const componentMounted = useRef(true); const navigation = useNavigation(); useEffect(() => { getDevices().then(setDevices) },[]); console.log() TypeError: undefined is not an object (evaluating '(0, _devices.getDevices)().then') This error is located at: in DevicesScreen (created by SceneView)

Aparece este error. Si elimino .then (setDevices) puedo ver la matriz de datos en el archivo console.log

 import firebase from "firebase/app"; import "firebase/firestore"; export const getDevices = () => { firebase .firestore() .collection("device") .where("user_id", "==", "Rweeff9MO8XIDheZLx0HVbfaezy2") .get() .then((querySnapshot) => { querySnapshot.docs.map(doc => { let data =doc.data(); console.log(data); return { id, ...doc }; } )} ) }

Gracias

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Hay varios problemas en su código.

  1. No devuelves la cadena de Promesas .
  2. id no está definida. Necesitas hacer doc.id

Así que lo siguiente debería hacer el truco:

 export const getDevices = () => { return admin // <========= See the return here .firestore() .collection("projects") .get() .then((querySnapshot) => { return querySnapshot.docs.map(doc => ({ id: doc.id, ...doc.data() })); // ^^^ See the return here }); }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda