android - '注册'错误:设置器'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() {
}
解决方案
在 updateUserName方法中,执行了以下代码,因此请尝试评论或删除它。
// Sign Out
signOut() {
return _firebaseAuth.signOut();
}
推荐阅读
- html - 如何阻止我的最后一个网格项目溢出?
- asp.net - 是否可以从 .NET Framework 4.8 更改为 4.7.2
- android - AOSP 9 的默认 Google Android 启动器的数据在哪里?
- python - AWS 上的“没有名为 lxml 的模块”
- reactjs - 使用分页反应原生钩子和调用 API
- tensorflow - 使用许多文本输入微调 BERT HuggingFace
- webpack - 在 AWS Amplify 上使用 knex.js 时,webpack 尝试包含太多模块
- java - 源验证器 (org.eclipse.wst.sse.ui.sourcevalidation) 是与编辑器相关还是仅与内容类型相关?
- sql - 在过程中使用 getdate 或触发 SQL
- string - 无法使用 jq 捕获标签包含数字参数的 imageDigest,但为什么呢?