【问题标题】:The default constructor is already defined. im using flutter [duplicate]默认构造函数已经定义。我正在使用颤振[重复]
【发布时间】:2021-05-06 07:29:19
【问题描述】:
class HomePage extends StatefulWidget {
  final String uid;

  HomePage({Key key, @required this.uid}) : super(key: key);
  final FirebaseUser user;

  HomePage({this.user});

  @override
  _HomePageState createState() => _HomePageState(uid);
}

已经定义了默认构造函数。 尝试为其中一个构造函数命名。dart(duplicate_constructor)

我希望这两个构造器传递任何一个可以帮助我的人

【问题讨论】:

标签: flutter dart


【解决方案1】:

您收到错误是因为您尝试创建两个默认构造函数。尝试将第二个设置为命名构造函数以解决此问题。

注意:Dart 不支持构造函数和方法重载。这就是为什么它带有命名方法,使它们更具可读性和易于管理。

 class HomePage extends StatefulWidget {
      final String uid;
    
      HomePage({Key key, @required this.uid}) : super(key: key);
      final FirebaseUser user;
    
      HomePage.user({this.user});
    
      @override
      _HomePageState createState() => _HomePageState(uid);
  }

【讨论】:

  • 更传统的命名是Homepage.fromUser,而不是HomePage.user。另请注意,每个构造函数都必须初始化所有最终变量(uid 和用户)。
猜你喜欢
  • 2014-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-04
  • 1970-01-01
  • 2014-03-24
  • 1970-01-01
相关资源
最近更新 更多