既然Dart 2.17允许超级初始化功能,我现在似乎可以替换默认的样板了
class WidgetName extends StatelessWidget {
const WidgetName({Key? key}) : super(key: key);使用
class WidgetName extends StatelessWidget {
const WidgetName({super.key});这有什么后果?考虑到'old‘语法中键的可空值与'new’之间的可能值,我假设代码中的这一更改并不是100%等效的。或者,我可能不完全理解超级初始化的基本过程。
发布于 2022-05-14 15:01:34
它是100%的等价物。在这两种情况下,key都是Key?类型的。
当您在编辑器中的构造函数上悬停时,您可以确认key的类型。

超级初始化器的类型将与超级构造函数中的类型匹配。本例中的超级构造函数是StatelessWidget的默认构造函数,它被定义为const StatelessWidget({Key? key})。
https://stackoverflow.com/questions/72240440
复制相似问题