显示的是错误控制台。它说它在根部件
这是我的代码
"
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){
相反,用?
if (Get.find<AuthController>().user?.isEmpty == true){
你几乎不希望使用!
强制一个可空的,除非你已经在你的代码中null检查了它。