Básicamente, tengo un problema en el que el usuario puede iniciar sesión sin verificar su dirección de correo electrónico (haciendo clic en el enlace enviado a su correo electrónico). Mi código actualmente se ve así y cada vez que ingreso "isEmailVerified()" me dice que no existe tal función.
const fbuilds = []; const frooms = []; clearErrors(); fire.auth().createUserWithEmailAndPassword(email, password) .then((userCredential) => { userCredential.user.sendEmailVerification(); alert('Please follow the link sent to your email address to verify your account.') fire.auth().signOut(); }) .catch((err) => { switch (err.code){ case "auth/email-already-in-use": case "auth/invalid-email": setEmailError(err.message); break; case "auth/weak-password": setPasswordError(err.message); break; } });y mi función de oyente de autenticación se ve así:
fire.auth().onAuthStateChanged((user) => { if(user){ if (user.isEmailVerified()){ //user.emailVerified clearInputs(); setUser(user); } } else { setUser(""); } }); };El mensaje de error es correcto. No hay ningún método llamado "isEmailVerified" en el objeto Usuario . Una mirada a la documentación de la API sugiere que hay una propiedad llamada emailVerified que puede verificar.
if (user.emailVerified) { ... }Recuerde usar ejemplos de código y documentación para JavaScript y no para otros lenguajes como Java que pueden tener diferentes API.