Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

232
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!