My *_*Car 1 dart flutter statelesswidget
我在 VS Code 中安装了Awesome Flutter Snippets和Flutter Snippets扩展。当我安装这两个扩展时,我可以使用一些键盘快捷键来生成小部件。
当我在代码中输入statelessW或并按 Enter 键时,它会生成如下所示:stlessStatelessWidget
statelessW:
class name extends StatelessWidget {
const name({super.key});
@override
Widget build(BuildContext context) {
return Container();
}
}
Run Code Online (Sandbox Code Playgroud)
stless:
class MyWidget extends StatelessWidget {
const MyWidget({super.key});
@override
Widget build(BuildContext context) {
return Container();
}
}
Run Code Online (Sandbox Code Playgroud)
可以看到上面两段代码是一样的,两段代码都使用({super.key});而不是({Key? key}) : super(key: key);.
是否建议在 Flutter 中使用({super.key});而不是使用({Key? key}) : super(key: key);?我将不胜感激任何帮助。先感谢您!
这是自 Dart 2.17 以来的新功能 - 只是实现相同目标的简写。
更多详细信息请参见:https://codewithandrea.com/tips/dart-2.17-super-initializers/
我只需从上面的链接复制/粘贴示例:
旧语法:
class Person {
Person(this.name);
final String name;
}
// Old way: before Dart 2.17
class Employee extends Person {
Employee(String name, this.salary) : super(name);
final int salary;
}
Run Code Online (Sandbox Code Playgroud)
新语法:
// New way: Dart 2.17 and above
class Employee extends Person {
Employee(super.name, this.salary);
final int salary;
}
Run Code Online (Sandbox Code Playgroud)
也适用于命名参数:
class Person {
Person({required this.name});
final String name;
}
// New way: Dart 2.17 and above
class Employee extends Person {
Employee({required super.name, required this.salary});
final int salary;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
113 次 |
| 最近记录: |