这是一个后续问题
到目前为止,根据我所读到的关于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
是的,有一个好处。如果可能的话,您应该声明为 const。
根据Flutter 文档:
尽可能使用 const 小部件,并为小部件提供 const 构造函数,以便小部件的用户也可以这样做。
其优点与使用默认构造函数和 const 构造函数相同:
您可以使用Lint默认启用 const
| 归档时间: |
|
| 查看次数: |
573 次 |
| 最近记录: |