未为类型“UserCredential”定义方法“sendEmailVerification”。Firebase 颤动

Hus*_*awi 1 dart firebase firebase-authentication flutter

我按照这篇博客文章在用户注册后向他们发送电子邮件验证,这是我在执行时遇到的问题sendEmailVerification()

未为类型“UserCredential”定义方法“sendEmailVerification”。尝试将名称更正为现有方法的名称,或定义名为“sendEmailVerification”的方法

但这篇博客文章的问题是,所使用的某些内容已被弃用,我设法解决了除此之外的大多数内容。

这是我的代码:-(您可以看到包名称的导入语句)

    import 'dart:async';
    
    import 'package:firebase_auth/firebase_auth.dart' as auth;
    import 'package:cloud_firestore/cloud_firestore.dart';
    
    class Auth {
      final auth.FirebaseAuth _firebaseAuth = auth.FirebaseAuth.instance;
    
      Future<String> signUp(String email, String password) async {
        try {
          final user = await _firebaseAuth
              .createUserWithEmailAndPassword(email: email, password: password);
          try {
            await user.sendEmailVerification(); // <== The error happens here
            return user;
          } catch (e) {
            print('Code was not sent!');
          }
        } catch (e) {
          print('An error occurred');
        }
      }
    }
Run Code Online (Sandbox Code Playgroud)

你能帮我解决这个问题吗?谢谢!

Pet*_*dad 5

请尝试以下操作:

await user.user.sendEmailVerification();
Run Code Online (Sandbox Code Playgroud)

由于createUserWithEmailAndPassword()返回 的实例,UserCredential并且由于该类UserCredential有一个名为 的属性user,该属性返回 的实例User

因此,您可以使用该属性来调用类内部的user方法。sendEmailVerification()User