Tengo una aplicación de reacción que básicamente quiere otorgar un permiso especial si el usuario que inició sesión es un administrador. Para esto, tengo una tabla en la base de datos donde almaceno todos los correos electrónicos de los administradores.
Tengo un UseEffect que utilizo para verificar si el usuario que ha iniciado sesión actualmente está disponible en la base de datos del usuario administrador.
useEffect(() => { const getUsers = async () => { const data = await getDocs(adminUsersCollectionRef); console.log(data); const user = data.docs.find((x) => x.data().email === currentUser.email); console.log(user.data()); if (user && user.data()) { console.log("inside if") setIsAdmin(true); } setTimeout( () => {console.log("Admin este :" + isAdmin)}, 2000); }; getUsers(); }, []); Mi problema es el siguiente: const [isAdmin, setIsAdmin] = useState(false); mi estado isAdmin siempre será falso, incluso si lo configuro explícitamente dentro de mi condición if .
¡Gracias de antemano!