![](/img/trans.png)
[英]The getter 'uid' was called on null. Receiver: null Tried calling: uid Flutter Firebase
[英]The getter 'uid' was called on null. Receiver: null Tried calling: uid
此錯誤““在 null.Receiver 上調用了 getter 'uid':nullTried 調用:uid”
當我嘗試從“主屏幕除外”任何屏幕退出時,我遇到了,
這個問題有什么解決辦法嗎??
包裝:
class Wrapper extends StatelessWidget {
@override
Widget build(BuildContext context) {
final user = Provider.of<User_fb>(context);
// return home or login
if (user == null) {
return Login();
} else {
print(user.uid);
return Home();
}
}
}
身份驗證:
Future Signinwithemailandpassword(var Res_email,var Res_Password) async{
try{
UserCredential result= await _auth.signInWithEmailAndPassword(email: Res_email, password: Res_Password);
User user = result.user;
return _userfromfirebase(user);
}catch(e){
return null;
}
}
Future signOut () async{
try{
return await _auth.signOut();
}
catch(e){
print(e.toString());
print("error at signOut ");
return null;
}
}
主要的 :
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(Main());
}
class Main extends StatefulWidget {
@override
_MainState createState() => _MainState();
}
class _MainState extends State<Main> {
@override
Widget build(BuildContext context) {
return StreamProvider<User_fb>.value(
value: Authservice().user,
child: MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
primaryColor: Color.fromRGBO(255, 255, 255, 1),
shadowColor: Colors.transparent,
highlightColor: Colors.transparent),
home: Wrapper(),
),
);
}
}
退出按鈕:
ListTile(
leading: Icon(Ionicons.log_out_outline,
color: Color.fromRGBO(86, 197, 150, 1)),
title: Text('Log out'),
onTap: () async {
await _auth.signOut();
},
),
安慰 :
======== 小部件庫捕獲的異常 ================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================ ================== 在構建 Br(dirty, dependencies: [_InheritedProviderScope<User_fb>], state: _QrState#24e19) 時拋出了以下 NoSuchMethodError:getter 'uid' 是調用 null。 接收者:空嘗試調用:uid
相關的導致錯誤的小部件是:Qr file:///G:/AndroidStudioProjects/facem/lib/Screens/Home/Home.dart:687:67 拋出異常時,這是堆棧:#0 Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5) #1 _QrState.build (package:my_compound/Screens/Qr/qr.dart:99:45) #2 StatefulElement.build (package:flutter/src/widgets /framework.dart:4691:27) #3 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4574:15) #4 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4746 :11) ...
發生這種情況是因為用戶為空,所以使用空檢查運算符。 像這個 user?.uid 或 user.uid ?? '',
提示:在使用顫振時始終使用 dart null 安全。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.