1. 程式人生 > >Flutter - Stateful(有狀態) 和 stateless(無狀態) widgets

Flutter - Stateful(有狀態) 和 stateless(無狀態) widgets

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