| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Flutter Key的原理和使用(三) LocalKey的三种类型 -> 正文阅读 |
|
[移动开发]Flutter Key的原理和使用(三) LocalKey的三种类型 |
Flutter Key的原理和使用(一) 没有Key会发生什么 Flutter Key的原理和使用 (二) Widget 和 Element 的对应关系 Flutter Key的原理和使用(三) LocalKey的三种类型 我们在上一章说到,同一级中相同类型的 Key的种类Key有两个子类:
从性能上来讲,如果不需要用到GlobalKey的话,尽量不用,LocalKey因为只对比同一级别,因此会快很多.上一章也说过,在父级或者子级是不会需考虑的. LocalKey而LocalKey又有3个子类
其实当你的Widget全都是StatelessWidget的时候,不需要用到Key,只有当使用Statefuldiget的时候才有可能用到key. ValueKey
它的构造方法很简单,有一个value,类型是T,也就是随便你想传什么都可以.当然因为唯一性原则,同级中Valukey的value是不能相同的.这个可以看它的 ObjectKey
ObjectKey跟ValueKey大同小异,我们主要看一下区别, 我们创建一个稍微复杂一点的类看一下二者实际的区别:
主要看一下
运行之后, 啊,果不其然,报错了. 这就是因为 UniqueKey
顾名思义,
那么问题来了, 这玩意到底有啥用? 其实, 那就又有个问题,它每次都会丢掉状态啊,不是我们希望的,怎么办? 把UniqueKey定义到build的外部,比如
因为是一开始就new出来的两个Key,所以在使用的时候,keyRed是没有改变的,也就达到了我们的目的. GlobalKeyok,接下来说到GlobalKey , 因为标题的原因啊,我们下一章再讲它. |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 13:21:56- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |