flutter-key
key
几乎所有的 widget 都有 key
1 | |
flutter 中对 Widget 做唯一判断的时候,需要传入 key,实际开发中如果有混淆 Widget 的问题,使用ValueKey可以解决大部分的问题。
Widget(Widget Tree)不是屏幕上的真实概念,实例化的对象其实是 Element Tree。
flutter 将二者关联起来
1、类型: Column->ColumnElement 等等
2、key: 类型一样才需要 key(同级搜索)
key 类型
Local Key 局部键
- ValueKey(T) equals
- ObjectKey ==(内存指针)
- UniqueKey 强制切换状态
Global Key 全局键
- 无视同级策略
- 寻找 Widget(findViewById)
key.currentState/key.currentWidget/key.currentContext
flutter-key
https://blog.201912.xyz/2023/04/10/flutter-key/