Estoy tratando de registrarme usando el método firebase - createUserWithEmailAndPassword , pero devuelve indefinido cuando intento registrar el valor devuelto.
Mi archivo de configuración:
import firebase from "firebase/app" import "firebase/auth" import "firebase/firestore" const firebaseConfig = { apiKey: "xxxxxx", authDomain: "xxxxx", projectId: "xxxxxx", storageBucket: "xxxxxx", messagingSenderId: "xxxxxx", appId: "xxxxxxx", } firebase?.initializeApp(firebaseConfig) const auth = firebase?.auth() const firestore = firebase?.firestore() export { auth, firestore }Mi archivo de registro:
import React, { useState } from "react" import { auth } from "../firebase" function Signup(props: Props) { const [email, setEmail] = useState("") const [password, setPassword] = useState("") console.log({ email, password }) async function handleSubmit(e) { console.log("clicked") e.preventDefault() const res = await auth?.createUserWithEmailAndPassword(email, password) console.log(res) -> gives undefined } return ( <> <div> <form onSubmit={(e) => handleSubmit(e)}> <input value={email} onChange={(e) => setEmail(e.target.value)} /> <input value={password} onChange={(e) => setPassword(e.target.value)} /> <button type='submit'>Submit</button> </form> </div> </> ) } export default SignupEstoy usando la versión de firebase - 9.6.5
En el panel de control de Firebase, no veo que se registre nada ni recibo ningún error en la consola.
Ya he leído otras respuestas similares, la solución consiste principalmente en usar la versión/actualización correcta del paquete, eliminar módulos de nodo o inicializar la configuración con cuidado. Creo que estoy haciendo bien estos pasos.
No estoy seguro de lo que estoy haciendo mal, cualquier ayuda en la dirección correcta sería muy útil. ¡Gracias!
https://firebase.google.com/docs/auth/web/password-auth#web-version-9
Consulte el documento oficial de v9. Creo que tu enfoque corresponde a v8
Estoy usando el mismo enfoque que el suyo para v8 y funciona bien.
O puede intentar desaprobar a v8 y probar su código en eso.
He resuelto el problema aquí, la documentación v9 cambia la forma en que importamos y usamos el método,
En el archivo de configuración,
import { initializeApp } from "firebase/app" import { getFirestore } from "firebase/firestore" import { getAuth } from "firebase/auth" const firebaseConfig = { .... } // Initialize Firebase initializeApp(firebaseConfig) const db = getFirestore() const auth = getAuth() export { auth, db } import { auth } from "../firebase" import { createUserWithEmailAndPassword } from "firebase/auth" createUserWithEmailAndPassword(auth, email, password).then((i) => console.log(i))