0.Widgets
Widgets 是 Futter 框架中的中心類別層次結構。在Flutter中widget有2種:1.Stateful Widgets 2.Stateless Widgets
以下是Stateful和Stateless Widgets之間的主要差異的表格:
| 特徵 | Stateless Widgets | Stateful Widgets |
|---|---|---|
| 是否可變 | 不可變的,一旦構建就不能更改 | 可變的,可以在運行時更改狀態 |
| 是否有State對象 | 無 | 有,包含狀態信息 |
| 是否有setState方法 | 無 | 有,用於觸發UI的重建 |
| 是否有生命週期方法 | 無 | 有,例如didUpdateWidget方法 |
| 常見用途 | 顯示靜態內容,不需要跟蹤狀態變化 | 顯示動態內容,需要跟蹤狀態變化 |
| 適用場景 | 當UI不需要隨時間變化時使用 | 當UI需要根據數據的變化進行更新時 |
| 範例 | 文字標籤、按鈕、圖像等 | 計數器、表格、表單等 |
在編寫應用程式時,您通常會編寫新的Widgets,這些Widgets是 StatelessWidget 或 StatefulWidget 的子類,具體取決於您的Widgets是否管理任何狀態。Widgets的主要工作是實作 build() 函數,該函數以其他較低層級的Widgets來描述該Widgets。框架依序建構這些Widgets,直到過程在代表底層 RenderObject 的Widgets中達到最低點,該 RenderObject 計算並描述Widgets的幾何形狀。
Last update :
13 novembre 2024
Created : 13 novembre 2024
Created : 13 novembre 2024