Estaba usando Firebase para registrar parte de mi proyecto. Ayer funcionaba bien, pero ahora, el .then() de createUserWithEmailAndPassword deja de funcionar y no entiendo por qué.
Mi código es muy simple:
import React from "react"; import { auth } from "../../firebase"; import { createUserWithEmailAndPassword } from "firebase/auth"; class Register extends React.Component{ onSubmit = (e) => { e.preventDefault(); createUserWithEmailAndPassword(auth, "mail@mail.com", "password") .then((userCredential)=>{ console.log(userCredential) }) } render(){ return( <div className="add-form-container"> <h1 className="title">Registrarse</h1> <span className="form-container"> <span className="input-add"> <p className="p-input">Usuario</p> <input className="input-" id="input-user" type="text" /> </span> <br /> <span className="input-add"> <p className="p-input">Correo electrónico</p> <input className="input-" id="input-mail" type="email" /> </span> <br /> <span className="input-add"> <p className="p-input">Contraseña</p> <input className="input-" id="input-pass" type="password" /> </span> <br /> <button className="add-button" onClick={this.onSubmit} id="post-button">Crear</button> </span> </div> ); } } } } export default Register; Básicamente, devuelve un console.log después de crear el usuario. El usuario se creó con éxito, pero el console.log nunca se muestra. Lo cambié por alert() u otra devolución de llamada, pero todo funciona.
¿Alguna solución?
(Estoy usando solo React y JavaScript)
Mi conjetura es que ya existe un usuario con la dirección de correo electrónico, pero para saber con certeza qué es lo que va mal, debe implementar catch además de then :
createUserWithEmailAndPassword(auth, "mail@mail.com", "password") .then((userCredential)=>{ console.log(userCredential) }) .catch((error) => { console.error(error); });En caso de que mi comentario fuera realmente la respuesta, también lo agregaré como respuesta. Intente agregar un bloque catch para ver si hay algún error cuando intente crear un nuevo usuario:
createUserWithEmailAndPassword(auth, "mail@mail.com", "password") .then((userCredential)=>{ console.log(userCredential) }) .catch(err => console.log({err}))