首页 > 解决方案 > '注册'错误:设置器'displayName ='在null上被调用。“显示在控制台上。注册按钮不会路由到下一页

问题描述

但是,当单击“注册”按钮时,该应用程序会运行,但我无法继续进行下一个路由分页。从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() {
}
 

标签: androidfirebaseflutterdartmobile-application

解决方案


updateUserName方法中,执行了以下代码,因此请尝试评论或删除它。

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

推荐阅读