Flutter开发 局部刷新-StatefulBuilder
Flutter状态类
Flutter开发当中总共有两种状态的Widget,一种是StatelessWidget;另一种是StatefulWidget。
StatelessWidget 是无状态控件,没有自己的私有数据,是纯展示型的控件,一个类继承自StatefulWidget,作为Widget树的一部分。
StatefulWidget 是有状态组件,持有的状态可能在 widget 生命周期改变。通俗的讲:如果我们想改变页面中的数据的话这个时候就需要用到 StatefulWidget,StatefulWidget继承自State,用于记录StatefulWidget会变化的状态,并且根据状态的变化,构建出新的Widget;
如果需要进行刷新页面改变状态的话,需要使用 setState(() {}),但是随着页面结构复杂化,如果每次进行赋值或者改变局部数据都进行setState(() {}),会对整体页面有较大的影响,可以使用局部刷新的StatefulBuilder。一下为使用方式
Flutter局部刷新 - StatefulBuilder
1、进行定义
/// StateSetter
StateSetter _reloadTextSetter;
2、使用控件
StatefulBuilder(
builder: (BuildContext context, StateSetter stateSetter) {
_reloadTextSetter = stateSetter;
return Container()
));
3、在需要局部刷新的地方进行调用,刷新方法。
_reloadTextSetter(() {});