Key基本概念
Key本身就是個(gè)抽象類 大致分兩大類(1. LocalKey 和 2. Globalkey )
1. LocalKey 用作diff算法的核心所在!用作Element和Widget
進(jìn)行比較!
- ValueKey 以一個(gè)數(shù)劇作為Key。列入數(shù)字、字符!
- ObjectKey 以O(shè)bject對(duì)象作為Key!
- UniqueKey 可以保證Key的唯一性?。ㄗ⒁猓阂坏┦褂肬niqueKey那么就不存在Element復(fù)用了,用的很少)
2. Globalkey
- 可以獲取到對(duì)應(yīng)的Widget的State對(duì)象!
- 利用這個(gè)GloableKey可以做到局部更新,
只更新對(duì)應(yīng)需要更改的Widget小組件,節(jié)省性能
使用方式:
1. 創(chuàng)建Globalkey
```
final GlobalKey<_ChildPageState> _globalKey = GlobalKey();
```
2.重寫構(gòu)造方法
```
ChildPage({Key key}) :super(key:key);
```
3.生成Childpage對(duì)象
```
ChildPage(key:_globalKey) ;
```
4.在相應(yīng)地方利用_globalKey取出相應(yīng)的Widget 和State 及 Context
```
###_globalKey.currentContext
###_globalKey.currentWidget
_globalKey.currentState.setState((){});
```
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。