flutter - Flutter HomeScreen(this.user) - 错误:位置参数太少:需要1个
问题描述
我的程序员同事们好,我有一个小问题,我在一个带有弯曲导航栏的颤振应用程序中运行 firebase auth 和 cloud firestore。现在这是我的home_screen.dart
文件问题,我必须添加 3 件事才能让我的 crud 函数工作,请参见下面的代码:
class HomeScreen extends StatelessWidget {
User user;
HomeScreen(this.user);
FirebaseFirestore firestore = FirebaseFirestore.instance;
@override
Widget build(BuildContext context) {
return Scaffold(........
现在在my main_screen
我的弯曲导航栏所在的位置有一个_pageOption = []
如下所示:
class _mainScreenState extends State<mainScreen> {
int _page = 0;
final _pageOption = [
add pages here
HomeScreen(),
AddCardScreen(),
];
我遇到的问题是所有内容都已导入并且工作正常,但是当我将 this.user 传递给 时HomeScreen()
,应该是这样,然后我收到错误:
无法在字段初始化程序中访问“this”。
解决方案
在里面 HomeScreen()
你已经指定了所需的参数User user
,因为当你初始化时HomeScreen
它会抛出一个错误。
因此,对于解决方案,您可以将 HomeScreen 中的 User 设置为 null-check 运算符。
class HomeScreen extends StatelessWidget {
User? user; // null check operator ?
HomeScreen(this.user);
}
通过此错误将被清除,但在访问之前,用户必须检查其 null 是否是强制性的。
推荐阅读
- docker - 在向上或向下扩展 StatefulSet 之前停止所有 Pod
- serverless-framework - 如何在 sls deploy 期间安装私有 npm github 包
- javascript - TestCafe - 如何检查断言中的值是否大于或等于
- python - 记录枚举类的困难?
- python-3.x - 我的对称差分函数没有返回,我不明白为什么
- android - 如何在 linux 上运行 android x86 so 文件?
- python - Python:验证信用卡数字
- c# - 绑定到 ListView 上的 ViewModel 什么都没有显示,但在其他控件上工作正常
- java - Java 不能在自己创建的私有 void 中工作,但是在执行按钮操作时它可以
- math - 3D刚体变换分解重新排序