Tengo muchos problemas con las funciones asíncronas y las asigno a una variable en react-native.
Entonces, para ponerlo en contexto, quiero recuperar datos de una base de datos (firebase https://rnfirebase.io/database/usage ), así que llamé a una base de datos de función (), pero siempre obtengo un valor nulo. Me di cuenta de que esta función es asíncrona y quiero obtener secuencialmente los datos de arriba a abajo. Así que lo probé imprimiendo mi código y obtuve "2" antes de "1".
Lo que quiero es imprimir los datos (de la base de datos), pero obtengo un nulo
Hice muchas búsquedas en google y stackOverflow y estoy luchando para obtener estos datos de la función asíncrona.
Entonces, ¿cómo puedo cambiar mi código para poder imprimir el valor de la base de datos?
const [data, setData] = useState(); useEffect(() => { database() .ref(`/${id}`) .once('value') .then(snapshot => { setData(snapshot); console.log(snapshot); //I can see data that I want to retrieve console.log(1); }); }, []); console.log(2); console.log(data) // I WANT TO PRINT HERE WITH THE VALUE expected the data from firebase-database, but have null as value