Flutter中的Key

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ù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 我們都知道flutter都是通過(guò)setState重新渲染build,實(shí)現(xiàn)數(shù)據(jù)和UI的更新;然而一個(gè)界面有時(shí)候需要更...
    大橘豬豬俠閱讀 11,324評(píng)論 1 8
  • Key本身是一個(gè)抽象類 LocalKey 用作diff算法的核心所在!用作Element和Widget進(jìn)行比較! ...
    E術(shù)家閱讀 638評(píng)論 0 0
  • flutter中的key是用來(lái)標(biāo)識(shí)[Widget]s, [Element]s and [SemanticsNode...
    michael_0x閱讀 2,432評(píng)論 0 1
  • 通過(guò)實(shí)際案列理解 Flutter 中 Key 在其渲染機(jī)制中起到的作用,從而達(dá)到能在合理的時(shí)間和地點(diǎn)使用合理的 K...
    stefanJi閱讀 13,928評(píng)論 13 50
  • 參考:http://www.itdecent.cn/p/6e704112dc67 概覽 在Flutter中,大概...
    杳杳飛花biubiubiu閱讀 334評(píng)論 0 0

友情鏈接更多精彩內(nèi)容