Flutter 构造颤振
当我在flatter中重构我的小部件时,生成了以下代码。然而,我仍然不明白它是为了什么,为什么会在那里。我把它删掉了,什么也没坏。一切都很好。这是干什么用的Flutter 构造颤振,flutter,dart,Flutter,Dart,当我在flatter中重构我的小部件时,生成了以下代码。然而,我仍然不明白它是为了什么,为什么会在那里。我把它删掉了,什么也没坏。一切都很好。这是干什么用的 const ReusableCard({ Key key, }) : super(key: key); 这是重构的完整类: class ReusableCard extends StatelessWidget { const ReusableCard({ Key key, }) : super(key: key
const ReusableCard({
Key key,
}) : super(key: key);
这是重构的完整类:
class ReusableCard extends StatelessWidget {
const ReusableCard({
Key key,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container(
margin: EdgeInsets.all(15),
decoration: BoxDecoration(
color: Color(0xFF1D1E33),
borderRadius: BorderRadius.circular(10.0),
),
);
}
}
如下列文件所述:
子类不从其超类继承构造函数。声明没有构造函数的子类只有默认(没有参数,没有名称)构造函数。[...]
默认情况下,子类中的构造函数调用超类的未命名、无参数构造函数
因此,在您的示例中,删除此构造函数将调用的默认构造函数。我们可以从这个类的文档中看到,可以向它传递一个名为key的可选参数。您请求的ReusableCard
构造函数允许您使用此关键参数创建无状态小部件。如果删除此构造函数,将无法为此小部件提供密钥
A是flatter框架中小部件和其他元素的标识符。在必须识别小部件的某些情况下需要它。最常见的例子是当您尝试交换(或删除)列表中的小部件时。为了识别它们,颤振框架需要识别它们的关键。如果您没有执行这些情况中的任何一种,或者根本没有使用键,那么可以删除此构造函数
谷歌发布了一段关于flatter按键的官方视频