Flutter是一个了不起的框架,简单易用。我必须看到文档非常好,但是有些概念对我来说仍然很模糊,例如key
参数。根据文档A Key is an identifier for Widgets, Elements and SemanticsNodes.
,很明显,但是为什么我需要识别我的小部件。到目前为止,我从未在编码中使用过键。在我的代码中使用键有什么好处?谢谢。
您不需要经常使用Key,框架会为您处理它,并在内部使用它们来区分小部件。在某些情况下,您可能需要使用它们。
常见的情况是,如果您需要通过小部件的键来区分小部件,则ObjectKey和ValueKey可用于定义小部件的区分方式。一个示例是PageStorageKey,另一个示例是具有动画删除功能的列表:https : //flutter.io/cookbook/gestures/dismissible/。
另一个示例是,如果您有一个要从父级访问的子级,则可以在父级中创建GlobalKey并将其传递给子级的构造函数。然后,您可以执行globalKey.state来获取孩子的状态(例如,在按钮按下回调中)。请注意,不应过多使用此方法,因为通常有更好的解决方法。
除非您使用直接告诉您为其子项定义键的小部件,否则您可能不必考虑它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句