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?

Gracias por cualquier ayuda.
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; }, [])