首页 > 解决方案 > 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”。

标签: flutterflutter-web

解决方案


在里面 HomeScreen()你已经指定了所需的参数User user,因为当你初始化时HomeScreen它会抛出一个错误。

因此,对于解决方案,您可以将 HomeScreen 中的 User 设置为 null-check 运算符。

class HomeScreen extends StatelessWidget {

    User? user;  // null check operator ?
    HomeScreen(this.user);
}

通过此错误将被清除,但在访问之前,用户必须检查其 null 是否是强制性的。


推荐阅读