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

231
Visualizações
¿Por qué OnValue de firebase no se dispara aquí?

Seguí todas las instalaciones de la expo con respecto a firebase, para web y android. Cuando ejecuto la aplicación en la web, obtengo los datos bien, sin embargo, cuando la ejecuto en Android, el método onValue no se ejecuta.

Tampoco da errores.

 import { StyleSheet, Text, View, FlatList, TouchableOpacity } from 'react-native'; import {useEffect, useState } from 'react' import { getDatabase, onValue, ref } from 'firebase/database'; import { fb } from '../firebaseConfig' import { LogBox } from 'react-native'; const db = getDatabase(); LogBox.ignoreLogs(['Setting a timer']); const HomePage = ({navigation})=>{ const [count, setCount] = useState([]); useEffect(() => { const cart = ref(db,"cart/"); onValue(cart,(snapshot)=>{ const data = snapshot.val(); console.log(data) setCount(data) }) },[]); const sendData = (name, surname) =>{ navigation.navigate('Map', { name: name, surname: surname} ) } return( <View> <FlatList data = {Object.keys(count)} renderItem={({item})=> <TouchableOpacity onPress={() => {sendData(count[item].name, count[item].Surname)}}> <Text>{count[item].name}</Text> </TouchableOpacity>} keyExtractor={(item, index) => index.toString()} /> </View> ) } export default HomePage

esta es mi app.json

 "expo": { "name": "my-app", "slug": "my-app", "version": "1.0.0", "orientation": "portrait", "icon": "./assets/icon.png", "splash": { "image": "./assets/splash.png", "resizeMode": "contain", "backgroundColor": "#ffffff" }, "updates": { "fallbackToCacheTimeout": 0 }, "assetBundlePatterns": [ "**/*" ], "ios": { "supportsTablet": true }, "android": { "package": "com.mypackage.myapp", "googleServicesFile": "./google-services.json", "adaptiveIcon": { "foregroundImage": "./assets/adaptive-icon.png", "backgroundColor": "#FFFFFF" } }, "web": { "favicon": "./assets/favicon.png" } } }

¿Me estoy perdiendo de algo?

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

0

Dado que no está pasando una devolución de llamada de error como tercer argumento a onValue() , puede parecer que la función no se activa cuando realmente se ejecutó, pero luego falló y se canceló.

La falla puede deberse a un error de permiso, por lo tanto, asegúrese de agregar una función cancelCallback .

De los documentos :

Una devolución de llamada opcional que será notificada si su suscripción al evento se cancela alguna vez porque su cliente no tiene permiso para leer estos datos (o tenía permiso pero ahora lo perdió). A esta devolución de llamada se le pasará un objeto de error que indica por qué ocurrió la falla.

 export declare function onValue( query: Query, callback: (snapshot: DataSnapshot) => unknown, cancelCallback?: (error: Error) => unknown // <--- error handler ): Unsubscribe;
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