这是一个后续问题
到目前为止,根据我所读到的关于constDart 构造函数的内容,它确保只分配相关类的一个对象。理论上,这可以节省分配空间和执行时间。甚至建议在遵循有效的 Dart设计时尽可能应用它。
现在,假设我们有一个无状态小部件Foo:
import 'package:flutter/material.dart';
class Foo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Text("Hello world");
}
}
Run Code Online (Sandbox Code Playgroud)
如果没有定义显式const构造函数,则无法在上下文中使用此小部件const。换句话说,下面的代码片段
import 'package:flutter/material.dart';
class Bar extends StatelessWidget {
@override
Widget build(BuildContext context) {
return const Foo();
}
}
Run Code Online (Sandbox Code Playgroud)
是非法的。但是,如果在可预见的将来它没有(并且不会有)任何字段,那么const Foo();向该类添加 a 是否还有好处呢?Foo
dart ×1