Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 构造颤振_Flutter_Dart - Fatal编程技术网

Flutter 构造颤振

Flutter 构造颤振,flutter,dart,Flutter,Dart,当我在flatter中重构我的小部件时,生成了以下代码。然而,我仍然不明白它是为了什么,为什么会在那里。我把它删掉了,什么也没坏。一切都很好。这是干什么用的 const ReusableCard({ Key key, }) : super(key: key); 这是重构的完整类: class ReusableCard extends StatelessWidget { const ReusableCard({ Key key, }) : super(key: key

当我在flatter中重构我的小部件时,生成了以下代码。然而,我仍然不明白它是为了什么,为什么会在那里。我把它删掉了,什么也没坏。一切都很好。这是干什么用的

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按键的官方视频