当前位置:  开发笔记 > 编程语言 > 正文

Flutter框架中使用的密钥是什么?

如何解决《Flutter框架中使用的密钥是什么?》经验,为你挑选了1个好方法。

Flutter是一个简单易用的惊人框架.我必须看到文档非常好,但有一些概念对我来说仍然含糊不清,例如key参数.根据文档A Key is an identifier for Widgets, Elements and SemanticsNodes.很清楚,但为什么我需要识别我的小部件.到目前为止,我从未在编码中使用过键.在我的代码中使用密钥有什么好处吗?谢谢.



1> rmtmckenzie..:

您不需要在大多数时间使用密钥,框架会为您处理密钥并在内部使用它们来区分窗口小部件.在某些情况下,您可能需要使用它们.

一个常见的情况是,如果您需要通过键来区分窗口小部件,ObjectKey和ValueKey可用于定义窗口小部件的区分方式.一个例子是PageStorageKey,另一个是带有动画删除的列表:https://flutter.io/cookbook/gestures/dismissible/.

另一个例子是,如果您想要从父级访问您的孩子,您可以在父级中创建一个GlobalKey并将其传递给子级的构造函数.然后你可以做globalKey.state来获得孩子的状态(例如在按钮按回调中).请注意,这不应该过度使用,因为通常有更好的方法来解决它.

在使用直接告诉您为其子项定义键的小部件之前,您可能永远不必考虑它.


@RémiRousselet请提供参考,以表明不建议使用GlobalKey。
推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有