En el componente de inicio de sesión de React, el registro de inicio de sesión de Firebase funciona, pero cuando intento enviar un enlace para restablecer la contraseña, no funciona. no se obtiene el valor del correo electrónico del campo, pero el inicio de sesión funciona. Así que no puedo enviar el enlace de restablecimiento de contraseña en mi correo electrónico.
Iniciar sesión Enviar botón: está funcionando:
const handleToSubmit = (event) => { event.preventDefault(); const email = event.target.email.value; const password = event.target.password.value; signInWithEmailAndPassword(email, password) }Restablecer contraseña Código de función: no funciona:
<!-- language: lang-js --> const resetPassword = async (event) => { const email = event.target.email.value if (email) { await sendPasswordResetEmail(email); toast.success(`Check your Email ⮞ ${email}`); } else { toast.warn('Enter Email ☹ '); } } <!-- end snippet -->Mi campo de entrada de correo electrónico: funciona para iniciar sesión pero no para restablecer la contraseña
<Form.Group controlId="formBasicEmail"> <Form.Control type="email" name="email" placeholder="Enter email" /> </Form.Group>Restablecer botón de clic: no funciona:
<button onClick={resetPassword}> Reset Password </button>
Creo que estás usando firebase v9.
Entonces deberías pasar auth como parámetro a la función:
import { getAuth, sendPasswordResetEmail } from "firebase/auth"; const auth = getAuth(); sendPasswordResetEmail(auth, email) .then(() => { // Password reset email sent! // show the toast })