如果用戶已登錄,我想要兩個顯示一個小部件,如果沒有,則顯示一個不同的小部件。
這是代碼片段的樣子:
class _AccountWidgetState extends State<AccountWidget> {
bool loggedIn = false;
final _auth = FirebaseAuth.instance;
late User loggedInUser;
@override
void initState() {
getCurrentUser();
super.initState();
}
void getCurrentUser() {
try {
final user = _auth.currentUser;
if (user != null) {
loggedInUser = user;
setState(() {
loggedIn == true;
});
}
} catch (e) {
print(e);
}
}
@override
Widget build(BuildContext context) {
return SafeArea(
child: loggedIn
? const Text('logged in')
: SizedBox(... ),
);
}
}
無論如何,loggedIn
布林值總是錯誤的。
這里發生了什么?
uj5u.com熱心網友回復:
你沒有在這里做任何任務。這是一個條件。
void getCurrentUser() {
try {
final user = _auth.currentUser;
if (user != null) {
loggedInUser = user;
setState(() {
// Wrong -> loggedIn == true;
loggedIn = true;
});
}
} catch (e) {
print(e);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/505219.html