Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

100
Vistas
Intentando renderizar el documento en la aplicación nativa de reacción

Estoy recuperando los datos de mi documento y almacenándolos en estado, pero cuando trato de representarlos, solo obtengo el primer elemento. Me doy cuenta cuando actualizo la aplicación, puedo ver los otros elementos brevemente. No estoy seguro de por qué mi mapeo no muestra todos los datos.

 const [tickets, setTickets] = useState([]); useEffect(() => { GetTickets(); }, []); console.log(tickets); const db = getFirestore(); const colRef = collection(db, "Tickets"); function GetTickets() { getDocs(colRef).then((snapshot) => { let tickets = []; snapshot.docs.forEach((doc) => { tickets.push({ ...doc.data(), id: doc.id }); setTickets(tickets); }); }); } return ( <View style={GlobalStyles.container}> <Text>Previous tickets</Text> {tickets.map((ticket) => ( <Text key={ticket.id}>{ticket.form.TicketNumber}</Text> ))} </View> );
about 4 years ago · Santiago Gelvez
3 Respuestas
Responde la pregunta

0

En React Native, puede usar map o flatList para representar una matriz. Si está tratando de mostrar una gran cantidad de datos, es mejor usar flatList (mejor rendimiento con una gran cantidad de datos).

Reemplazar este código

 {tickets.map((ticket) => ( <Text key={ticket.id}>{ticket.form.TicketNumber}</Text> ))}

con este codigo

 <FlatList data={tickets} renderItem={({item}) => <Text>{item.form.TicketNumber}</Text>} />
about 4 years ago · Santiago Gelvez Denunciar

0

Intente esto, puede ser que su estado se esté configurando antes de que sus datos se inserten en la matriz, colóquelos fuera del bucle como este

 const [tickets, setTickets] = useState([]); useEffect(() => { GetTickets(); }, []); console.log(tickets); const db = getFirestore(); const colRef = collection(db, "Tickets"); function GetTickets() { getDocs(colRef).then((snapshot) => { let tickets = []; snapshot.docs.forEach((doc) => { tickets.push({ ...doc.data(), id: doc.id }); }); setTickets(tickets); }); } return ( <View style={GlobalStyles.container}> <Text>Previous tickets</Text> {tickets.map((ticket) => ( <Text key={ticket.id}>{ticket.form.TicketNumber}</Text> ))} </View> );
about 4 years ago · Santiago Gelvez Denunciar

0

No estoy seguro de si te ayudará, pero 2 comentarios para ayudarte en tu búsqueda:

  • Está llamando a setTickets dentro del ciclo, huele como un problema, debido al flujo asíncrono.
  • Además, por qué estás definiendo el nombre de la variable en el alcance de la función, con el mismo nombre de la variable para el estado de los boletos, no huele tan bien.

Espero que te ayude.

about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda