【发布时间】:2022-06-26 14:00:07
【问题描述】:
当我尝试访问特定屏幕时,我得到了“用于空值的空检查运算符”。
我屏蔽了我的“user_provider”自定义类以及使用它的部分代码,它正常显示(没有红屏)但没有这些屏幕。
这是自定义类
import 'package:flutter/widgets.dart';
import 'package:purple/models/user.dart';
import 'package:purple/resources/auth_methods.dart';
class UserProvider with ChangeNotifier {
User? _user;
final AuthMethods _authMethods = AuthMethods();
User get getUser => _user!;
Future<void> refreshUser() async {
User user = await _authMethods.getUserDetails();
_user = user;
notifyListeners();
}
}
我知道这可能是第 9 行中 bang 运算符的结果,但我是 Fluttr 新手,不知道如何去做。
【问题讨论】:
-
您的
getUserDetails在您的应用程序中某处返回null,因为您在尝试访问_user时遇到了该错误。如果不是null,您只需要访问_user即。if (getUser != null) {...}并告诉应用程序如果它为空该怎么办。我能告诉你的就是你分享的代码量。 -
试试这个。添加 ?在第 9 行的 User 之后,比如 User?获取 getUser => _user!;
标签: firebase flutter dart provider state-management