Flutter - Stateful(有狀態) 和 stateless(無狀態) widgets
阿新 • • 發佈:2018-11-14
code 更新 clas tar tutorials tel check active slide
Stateful(有狀態) 和 stateless(無狀態) widgets
- 有些widgets是有狀態的, 有些是無狀態的
- 如果用戶與widget交互,widget會發生變化,那麽它就是有狀態的.
- widget的狀態(state)是一些可以更改的值, 如一個slider滑動條的當前值或checkbox是否被選中.
- widget的狀態保存在一個State對象中, 它和widget的布局顯示分離。
- 當widget狀態改變時, State 對象調用
setState()
, 告訴框架去重繪widget.
stateless widget 沒有內部狀態. Icon、 IconButton, 和Text 都是無狀態widget, 他們都是 StatelessWidget的子類。
stateful widget 是動態的. 用戶可以和其交互 (例如輸入一個表單、 或者移動一個slider滑塊),或者可以隨時間改變 (也許是數據改變導致的UI更新).Checkbox, Radio, Slider, InkWell, Form, and TextField 都是 stateful widgets, 他們都是 StatefulWidget的子類。
參考: https://flutterchina.club/tutorials/interactive/#stateful-stateless
Flutter - Stateful(有狀態) 和 stateless(無狀態) widgets