无状态窗口小部件类中的键是什么?

在flutter文档中,有一个无状态小部件子类的示例代码,如下所示:


class GreenFrog extends StatelessWidget {

  const GreenFrog({ Key key }) : super(key: key);


  @override

  Widget build(BuildContext context) {

    return new Container(color: const Color(0xFF2DBD3A));

  }

}

和这个


class Frog extends StatelessWidget {

  const Frog({

    Key key,

    this.color: const Color(0xFF2DBD3A),

    this.child,

  }) : super(key: key);


  final Color color;


  final Widget child;


  @override

  Widget build(BuildContext context) {

    return new Container(color: color, child: child);

  }

}

什么是密钥?何时应使用此超级构造函数?似乎如果您有自己的构造函数,则必须具有{Key key}为什么?我看到了其他未使用super关键字的示例,因此这是我的困惑所在。


拉莫斯之舞
浏览 456回答 3
3回答

动漫人物

键是保留小部件树中状态所需的可选参数,如果要在树中移动元素集合并保留它们的状态,则必须使用它们。
打开App,查看更多内容
随时随地看视频慕课网APP