“注册”错误:控制台上显示了setter“ displayName =””在控制台上显示“注册”按钮无法转到下一页

问题描述

该应用程序运行,但是当单击“注册”按钮时,我无法继续转到下一个路由页面。如从console.firebase所看到的,该帐户确实已创建,并且转到下一页的唯一方法是使用创建的凭据再次登录

import 'package:firebase_auth/firebase_auth.dart';
import 'package:firebase_core/firebase_core.dart';

class AuthService {
  final FirebaseAuth _firebaseAuth = FirebaseAuth.instance;

  Stream<String> get authStateChanges => _firebaseAuth.authStateChanges().map(
        (User user) => user?.uid,);

  // // GET UID
  // Future<String> getCurrentUID() async {
  //   return (await _firebaseAuth.currentUser()).uid;
  // }

  // Email & Password Sign Up
  Future<String> createuserWithEmailAndPassword(
      String email,String password,String name) async {
    final authResult = await _firebaseAuth.createuserWithEmailAndPassword(
      email: email,password: password,);

    // Update the username
    await updateUserName(name,authResult.user);
    return authResult.user.uid;
  }

  Future updateUserName(String name,User currentUser) async {
    var userUpdateInfo = updateProfile();
        userUpdateInfo.displayName = name;
        await currentUser.updateProfile(displayName: userUpdateInfo);
        await currentUser.reload();
      }
    
      // Email & Password Sign In
      Future<String> signInWithEmailAndPassword(
          String email,String password) async {
        return (await _firebaseAuth.signInWithEmailAndPassword(
                email: email,password: password))
            .user
            .uid;
      }
    
      // Sign Out
      signOut() {
        return _firebaseAuth.signOut();
      }
    }
    
    updateProfile() {
}
 

解决方法

updateUserName 方法中,将执行以下代码,因此请尝试注释或删除它。

      // Sign Out
      signOut() {
        return _firebaseAuth.signOut();
      }