
裝飾器
用來裝飾類、結構體、方法以及變量,賦予其特殊的含義,如上述示例中 @Entry 、 @Component 、 @State 都是裝飾器。
-
@Component 表示這是個自定義組件;
-
@Entry 則表示這是個入口組件;
-
@State 表示組件中的狀態變量,此狀態變化會引起 UI 變更。
-
自定義組件(@Component)
可復用的 UI 單元,可組合其它組件,如上述被 @Component 裝飾的 struct Hello。 -
UI 描述
聲明式的方式來描述 UI 的結構,如上述 build() 方法內部的代碼塊。 -
內置組件
框架中默認內置的基礎和布局組件,可直接被開發者調用,比如示例中的 Column、Text、Divider、Button。 -
事件方法
用于添加組件對事件的響應邏輯,統一通過事件方法進行設置,如跟隨在Button后面的onClick()。 -
屬性方法
用于組件屬性的配置,統一通過屬性方法進行設置,如fontSize()、width()、height()、color() 等,可通過鏈式調用的方式設置多項屬性。
組件狀態管理裝飾器和@Builder裝飾器
組件狀態管理裝飾器用來管理組件中的狀態,它們分別是:@State、@Prop、@Link。
- @State裝飾的變量是組件內部的狀態數據,當這些狀態數據被修改時,將會調用所在組件的build方法進行UI刷新。
- @Prop與@State有相同的語義,但初始化方式不同。@Prop裝飾的變量必須使用其父組件提供的@State變量進行初始化,允許組件內部修改@Prop變量,但更改不會通知給父組件,即@Prop屬于單向數據綁定。
- @Link裝飾的變量可以和父組件的@State變量建立雙向數據綁定,需要注意的是:@Link變量不能在組件內部進行初始化。
- @Builder裝飾的方法用于定義組件的聲明式UI描述,在一個自定義組件內快速生成多個布局內容。

組件生命周期函數
自定義組件的生命周期函數用于通知用戶該自定義組件的生命周期,這些回調函數是私有的,在運行時由開發框架在特定的時間進行調用,不能從應用程序中手動調用這些回調函數。
