我在控制台中遇到以下错误,我一直在尝试修复它几个小时



显示的是错误控制台。它说它在根部件

这是我的代码

"

initState: (_) async {
Get.put<UserController>(UserController());
}, 
builder: (_) {
if (Get.find<AuthController>().user?.isEmpty == true){
return HomeScreen();
} else {
return Login();
}
}

"

AuthController with firebase, i use Rxn for null safety.

"

class AuthController extends GetxController {
FirebaseAuth _auth = FirebaseAuth.instance;
Rxn<User> _firebaseUser = Rxn<User>();
String? get user => _firebaseUser.value?.email;
@override
void onInit() {
_firebaseUser.bindStream(_auth.authStateChanges());
}
}

"

用户控件

Rx<UserModel> _userModel = UserModel().obs;
UserModel? get user => _userModel.value;
set user(UserModel? value) => this._userModel.value = value!;
void clear(){
_userModel.value = UserModel();
}

您正在使用!:

将可为空的用户强制为非空
if (Get.find<AuthController>().user!.isEmpty){

相反,用?

检查null。
if (Get.find<AuthController>().user?.isEmpty == true){

你几乎不希望使用!强制一个可空的,除非你已经在你的代码中null检查了它。

最新更新