flutter 中的 key

  • flutter中的key是用來標識[Widget]s, [Element]s and [SemanticsNode]s在某個上下文環(huán)境中的唯一性用的.
    具體參照widget中key屬性的說明亡哄。

  • A new widget will only be used to update an existing element if its key is
    the same as the key of the current widget associated with the element.
    要更新一個element碗啄,新提供的widget的key必須同element之前關聯(lián)widget的key是相等的越走。

  • Keys must be unique amongst the [Element]s with the same parent.
    同一個父節(jié)點下面的各個子節(jié)點 [Element]s的key必須是互不相同的。

  • Subclasses of [Key] should either subclass [LocalKey] or [GlobalKey].
    如要實現(xiàn)[Key]的子類博秫,應當繼承自 [LocalKey] 或者 [GlobalKey]儿倒。

@immutable
abstract class Key {
  /// Construct a [ValueKey<String>] with the given [String].
  ///
  /// This is the simplest way to create keys.
  /// 這里用關鍵字factory是因為要返回Key的子類ValueKey類型
  const factory Key(String value) = ValueKey<String>;



  /// Default constructor, used by subclasses.
  ///
  /// Useful so that subclasses can call us, because the [new Key] factory
  /// constructor shadows the implicit constructor.
 /// 文檔說如果你沒有申明構造器饲趋,那么dart會提供一個默認的無參數(shù)構造方法妓雾。
 /// 言下之意,如果你申明了玄窝,那么就不會提供這個無參數(shù)的構造方法了牵寺。
 /// 這里申明一個名為empty的默認無參數(shù)構造方法
///  const關鍵字是用來返回const對象給聲明為const的參數(shù)賦值用的。如果沒有const關鍵字恩脂,則給聲明為const的參數(shù)賦值時帽氓,會報錯 Error: Cannot invoke a non-'const' constructor where a const expression is expected.
///  但是const構造方法并不總是返回const對象,當給聲明為const或final的參數(shù)賦值時俩块,會返回一個const對象黎休,如果是給可變參數(shù)賦值,則返回一個可變的對象典阵。
  @protected
  const Key.empty();
}

PS:

  • 關于factory關鍵字
    Use the factory keyword when implementing a constructor that doesn’t always create a new instance of its class. For example, a factory constructor might return an instance from a cache, or it might return an instance of a subtype.
    關鍵字factory 用于返回的實例不總是本類的時候使用奋渔,比如從緩存返回一個實例,或返回一個子類的實例壮啊。

  • 關于const關鍵字

class TestKey extends LocalKey {
  const TestKey() : super();
}
  • 給const變量賦值
  const TestKey aKey = TestKey();
  const TestKey bKey = TestKey();

  if(identical(aKey, bKey)){
   /// 會走到這里
    print('identical $aKey , $bKey');
  }
  else{
    print('not identical $aKey , $bKey');
  };
  • 給可變變量賦值
  TestKey aKey = TestKey();
  TestKey bKey = TestKey();

  if(identical(aKey, bKey)){
    print('identical $aKey , $bKey');
  }
  else{
    /// 會走到這里
    print('not identical $aKey , $bKey');
  };
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末嫉鲸,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子歹啼,更是在濱河造成了極大的恐慌玄渗,老刑警劉巖座菠,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異藤树,居然都是意外死亡浴滴,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門岁钓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來升略,“玉大人,你說我怎么就攤上這事屡限∑废” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵钧大,是天一觀的道長翰撑。 經(jīng)常有香客問我,道長啊央,這世上最難降的妖魔是什么眶诈? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮瓜饥,結果婚禮上逝撬,老公的妹妹穿的比我還像新娘。我一直安慰自己压固,他們只是感情好球拦,可當我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布靠闭。 她就那樣靜靜地躺著帐我,像睡著了一般。 火紅的嫁衣襯著肌膚如雪愧膀。 梳的紋絲不亂的頭發(fā)上拦键,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天,我揣著相機與錄音檩淋,去河邊找鬼芬为。 笑死,一個胖子當著我的面吹牛蟀悦,可吹牛的內(nèi)容都是我干的媚朦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼日戈,長吁一口氣:“原來是場噩夢啊……” “哼询张!你這毒婦竟也來了?” 一聲冷哼從身側響起浙炼,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤份氧,失蹤者是張志新(化名)和其女友劉穎唯袄,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蜗帜,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡恋拷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了厅缺。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蔬顾。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖湘捎,靈堂內(nèi)的尸體忽然破棺而出阎抒,到底是詐尸還是另有隱情,我是刑警寧澤消痛,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布且叁,位于F島的核電站,受9級特大地震影響秩伞,放射性物質(zhì)發(fā)生泄漏逞带。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一纱新、第九天 我趴在偏房一處隱蔽的房頂上張望展氓。 院中可真熱鬧,春花似錦脸爱、人聲如沸遇汞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽空入。三九已至,卻和暖如春族檬,著一層夾襖步出監(jiān)牢的瞬間歪赢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工单料, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留埋凯,地道東北人。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓扫尖,卻偏偏與公主長得像白对,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子换怖,可洞房花燭夜當晚...
    茶點故事閱讀 45,044評論 2 355