Flutter狀態(tài)類
Flutter開發(fā)當中總共有兩種狀態(tài)的Widget,一種是StatelessWidget;另一種是StatefulWidget。
StatelessWidget 是無狀態(tài)控件,沒有自己的私有數(shù)據(jù),是純展示型的控件,一個類繼承自StatefulWidget,作為Widget樹的一部分。
StatefulWidget 是有狀態(tài)組件,持有的狀態(tài)可能在 widget 生命周期改變。通俗的講:如果我們想改變頁面中的數(shù)據(jù)的話這個時候就需要用到 StatefulWidget,StatefulWidget繼承自State,用于記錄StatefulWidget會變化的狀態(tài),并且根據(jù)狀態(tài)的變化,構(gòu)建出新的Widget;
如果需要進行刷新頁面改變狀態(tài)的話,需要使用 setState(() {}),但是隨著頁面結(jié)構(gòu)復(fù)雜化,如果每次進行賦值或者改變局部數(shù)據(jù)都進行setState(() {}),會對整體頁面有較大的影響,可以使用局部刷新的StatefulBuilder。一下為使用方式
Flutter局部刷新 -?StatefulBuilder
1、進行定義
? /// StateSetter
? StateSetter _reloadTextSetter;
2、使用控件
StatefulBuilder(
? ? ? ? ? ? ? ? builder: (BuildContext context, StateSetter stateSetter) {
? ? ? ? ? ? ? _reloadTextSetter = stateSetter;
? ? ? ? ? ? ? return Container()? ?
?));
3、在需要局部刷新的地方進行調(diào)用,刷新方法。
? ? _reloadTextSetter(() {});