Flatter Firebase已成功更新显示名称,但仍可以';我不能进入。它是空的
firebase用户的显示名称已更新,但仍在“null”上调用了getter 我用电子邮件和密码注册 用于注册的函数是Flatter Firebase已成功更新显示名称,但仍可以';我不能进入。它是空的,firebase,flutter,Firebase,Flutter,firebase用户的显示名称已更新,但仍在“null”上调用了getter 我用电子邮件和密码注册 用于注册的函数是 void _registerAccount() async { final User user = (await _auth.createUserWithEmailAndPassword( email: emailC.text, password: passwordC.text, )) .user; if (user != null) { if (!u
void _registerAccount() async {
final User user = (await _auth.createUserWithEmailAndPassword(
email: emailC.text,
password: passwordC.text,
))
.user;
if (user != null) {
if (!user.emailVerified) {
await user.sendEmailVerification();
}
await user.updateProfile(displayName: usernameC.text);
final user1 = _auth.currentUser;
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (context) => Home(
user: user1,
username: usernameC.text,
)));
} else {
bool _isSuccess = false;
}
}
passwordC、usernameC和emailC是控制器。
注册后,我想在屏幕上显示“显示名称”。但我试着把它打印出来,首先看到,它显示为空
这是我的主页建设方法
@override
Widget build(BuildContext context) {
initialize();
print('Reached here');
print(widget.user.displayName);
return Scaffold(
body: Center(
child: Container(
child: Column(
children: [
Text(''),
Center(
child: RaisedButton(
child: Text("Logout"),
onPressed: () {
FirebaseAuth.instance.signOut();
}),
),
],
)),
),
bottomNavigationBar: BottomNavigationBar(
onTap: (index) {
setState(() {
currentindex = index;
});
},
currentIndex: currentindex,
items: [
BottomNavigationBarItem(
title: Text("Home"), icon: Icon(Icons.account_balance_wallet)),
BottomNavigationBarItem(
title: Text("Home"), icon: Icon(Icons.search)),
BottomNavigationBarItem(
title: Text("Home"), icon: Icon(Icons.account_circle)),
]),
);
这里的initialize方法就是调用这两个方法
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
初始化方法无论如何都不是问题
谢谢。FirebaseAuth.currentUser()将只检测本地对用户所做的更改,但如果发生任何服务器端更改,它将不会检测到这些更改,除非首先调用FirebaseUser.reload(),因此您必须调用
await user.reload();
在调用update()之后。Oh!伙计,我明白了。它正在工作。非常感谢你。