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

203
Views
Espere el ID de usuario antes de acceder a los documentos de firebase en reaccionar

Después de que un usuario inicia sesión en mi programa, es redirigido a una página donde se obtienen los datos de su perfil, sin embargo, debo esperar en la página para que el usuario actual no sea nulo antes de leer los datos de firebase.

Dentro de la página de usuario:

 const currentUser = useAuth(); const routineBundleRef = doc(db, "RoutineBundle", currentUser.uid); useEffect(() => { const getRoutines = async () => { const data = await getDocs(collection(routineBundleRef, "Routines")); setRoutines(data.docs.map((doc) => ({...doc.data(), id: doc.id}))); }; getRoutines(); }, []);

Dentro de la página de autenticación:

 const useAuth = () => { const [currentUser, setCurrentUser] = useState(); useEffect(() => { const unsub = onAuthStateChanged(auth, user => { setCurrentUser(user)}); return unsub; }, []) return currentUser; }

Se accede a la página con un ID de usuario, pero creo que el problema es que no se carga a tiempo antes de intentar acceder a los documentos del usuario.

¿Cómo haría para esperar a usedid antes de acceder a los documentos?

No hay imagen de mensaje de error de ID

Gracias por cualquier ayuda.

about 4 years ago · Santiago Gelvez
1 answers
Answer question

0

El user en onAuthStateChanged puede ser null . Intente agregar una declaración if para verificar que:

 useEffect(() => { const unsub = onAuthStateChanged(auth, user => { if (user) { setCurrentUser(user) }); } return unsub; }, [])
about 4 years ago · Santiago Gelvez 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!