Firebase 5.8^ sendEmailVerification

Mar*_*ark 2 firebase typescript firebase-authentication angular

我正在尝试firebase通过电子邮件创建用户并发送验证电子邮件。它改变了我相信版本 5+

我似乎无法让它发挥作用。

有人可以帮助解释我哪里出错了吗?

我不断收到以下错误消息是

类型错误:user.sendEmailVerification 不是函数

这是我的 TS 文件。

onSubmit(form: NgForm) {

const fullname = form.value.fullname;
const email = form.value.email;
const password = form.value.password;


firebase.auth().createUserWithEmailAndPassword(email, password)
.then(function(user) {
    user.sendEmailVerification();
})
.then(function () {
    console.log('User signup success');
    alert('Signed Up');
})
.catch(function (err) {
    console.log(err);
    alert('Error!');
});
Run Code Online (Sandbox Code Playgroud)

Mar*_*ark 8

最后,我找到了这个解决方案。

firebase.auth().createUserWithEmailAndPassword(email, password)
    .then(userData => {
        userData.user.sendEmailVerification();
            console.log(userData);
    })
    .catch(err => {
        console.log(err);
    });
Run Code Online (Sandbox Code Playgroud)


Elm*_*aul 5

在 Firebase 9 中有单独的方法

import { sendEmailVerification } from "firebase/auth"; 
Run Code Online (Sandbox Code Playgroud)

例子:

       sendEmailVerification(auth.currentUser)
           .then(() => {
               // Your code is here            
           })
           .catch((error) => {
               console.log('Email verification error', error);
           });
Run Code Online (Sandbox Code Playgroud)