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(() {});

推荐阅读更多精彩内容