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

177
Vistas
error de snapchot firebase (leyendo 'onSnapshot')

Tengo un problema con Firebase, cada vez que intento autenticarme con App.js:27 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'onSnapshot') , aparece este problema.

 { const {setCurrentUser} = this.props this.authListener = auth.onAuthStateChanged(async userAuth =>{ if(userAuth) { const userRef = await handleUserProfile(userAuth) userRef.onSnapshot(snapchot=>{ setCurrentUser( { id:snapchot.id, ...snapchot.data(), } ) }) } setCurrentUser(userAuth) }) }

base de fuego.js:

 export const handleUserProfile = async({ userAuth, additionalData }) => { if (!userAuth) return; const { uid } = userAuth; const userRef = firestore.doc(`users/${uid}`); const snapshot = await userRef.get(); if (!snapshot.exists) { const { displayName, email } = userAuth; const timestamp = new Date(); const userRoles = ['user']; try { await userRef.set({ displayName, email, createdDate: timestamp, userRoles, ...additionalData }); } catch (err) { console.log(err); } } return userRef; };

No puedo obtener finalmente el estado redux del usuario actual, estoy tratando de guardar el usuario actual cuando está conectado:

 const mapStatetoProps = ({user}) => ({ currentUser:user.currentUser }) const mapDispatchToProps = dispatch =>({ setCurrentUser:user => dispatch(setCurrentUser(user)) }) export default connect(mapStatetoProps,mapDispatchToProps)(App)
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Aquí está desestructurando userAuth del objeto que recibe como parámetro en esta función

export const handleUserProfile = async({ userAuth, AdditionalData }) => {

Y aquí estás pasando directamente el userAuth:

const userRef = await handleUserProfile(userAuth)

En su lugar, aquí deberías escribir:

 const userRef = await handleUserProfile({userAuth})

¡Esto pasará el userAuth en un objeto, por lo tanto, la desestructuración será exitosa!

about 4 years ago · Juan Pablo Isaza 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