西充建设局网站,wordpress金币插件,软件开发岗位介绍,网站内链检测key --- Value
模式模式下#xff0c;value就是我们的widget 为什么要有key#xff1f;
flutter中是增量更新#xff0c;只更新了差异点。
任何的恶widget都有key。
有些时候不使用key。会导致渲染引擎失控#xff0c;更新的时候没有参考物key. 为什么会有上面失控的情…key --- Value
模式模式下value就是我们的widget 为什么要有key
flutter中是增量更新只更新了差异点。
任何的恶widget都有key。
有些时候不使用key。会导致渲染引擎失控更新的时候没有参考物key. 为什么会有上面失控的情况 ---------Widget. Tree-------------------- 内部渲染引擎 Element Tree--- --------一系列的类。--------对应--------------实例------------------- -------例如MyMyMy-----------------MyElementMyElement,MyElement-- 有状态1状态2状态3. 如果是相同的类型才会考虑key来解决
当MY删除一个是后就会导致类型和Element无法对应。
对应关系不一致导致失控
全局的key是什么
abstract class Key {/// Construct a [ValueKeyString] with the given [String].////// This is the simplest way to create keys.const factory Key(String value) ValueKeyString;/// Default constructor, used by subclasses.////// Useful so that subclasses can call us, because the [Key.new] factory/// constructor shadows the implicit constructor.protectedconst Key.empty();
}上面是抽象的key。
子类LocalKey 局部的key周围同一级的唯一性的保障---开发尽量使用这个localkey性能更 高 ---》 LocalKey的子类 ValueKey 等等。 GlobalKey 全局的key整个app里的全局唯一性性能就低一点。
//------------------------//
无状态的部件是不用考虑key的--一般情况
有状态的widget并且有相同类型才考虑key。
//-------------------------//
ObjectKey --引用的对比。 ValueKey --值的对比。
UniqueKey()?
这个是主动放弃key的关系现象是不会保持数据。
应用的场景---------》可以主动丢弃来证明需要更新---强制性告诉flutter丢弃上一帧的key。