【发布时间】:2020-09-26 08:18:38
【问题描述】:
我是 Flutter 新手,需要一小段代码的帮助。虽然我的代码有效,但它首先显示错误/红屏(毫秒)。当我以这种方式收到登录用户的电子邮件时:this._user?.email, 它显示:
必须为 Text 小部件提供非空字符串。 断言失败:'data != null'
当我以这种方式收到电子邮件时:_user.email, 它显示:
getter 'email' 在 null 上被调用。
接收者:空
尝试呼叫:电子邮件
请建议如何抛出和捕获此异常或修复此问题。任何形式的帮助都将受到高度赞赏,并欢迎提出意见。我的完整代码在这里:
class MyAccountSetting extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: AccountSetting(),
);
}
}
class AccountSetting extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return new AccountSettings();
}
}
class AccountSettings extends State<AccountSetting> {
final FirebaseAuth _auth = FirebaseAuth.instance;
FirebaseUser _user;
@override
void initState() {
super.initState();
initUser();
}
initUser() async {
_user = await _auth.currentUser();
setState(() {});
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
margin: const EdgeInsets.only(top: 10.0),
),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
IconButton(
icon: Icon(Icons.mail),
iconSize: 30,
onPressed: () {},
),
Text(
_user.email,
// this._user?.email,
style: TextStyle(fontSize: 18),
),
],
),
]
),
),
);
}
}
【问题讨论】:
标签: flutter dart google-cloud-firestore firebase-authentication