Tengo un archivo donde he escrito todas las funciones relacionadas con firebase, incluida esta aquí
function CurrentUser(){ console.log("auth", auth) return auth.currentUser } Cuando registro auth.currentUser dentro de la función anterior, puedo ver los detalles del usuario actualmente conectado, pero cuando llamo a esta función en la página de inicio de React, veo que no está definido. También pude ver los registros de la página de inicio como se esperaba si realizo cambios como agregar let i=1 en la función anterior. No fue capaz de averiguar qué está pasando aquí. Cualquier ayuda sería apreciada.
Código para la llamada. Esto es para estar en la página de inicio.
const Home() = () =>{ let userName = Firebase.CurrentUser(); console.log("userName", userName); }Salida para cuando inicio sesión en la aplicación:
Salida cuando agrego algo como una nueva variable a cualquiera de las funciones anteriores:
Parece que auth tiene un valor, pero auth.currentUser no. En realidad, eso es muy común cuando solo está cargando la aplicación/página, ya que actualizar las credenciales de usuario requiere una llamada al servidor y lleva tiempo.
Si desea que su aplicación responda a esos cambios, implemente onAuthStateChanged como se muestra en el primer fragmento de la documentación sobre cómo obtener el usuario actual .