Flutter StatefulBuilder 用来实现局部数据刷新

Posted 早起的年轻人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter StatefulBuilder 用来实现局部数据刷新相关的知识,希望对你有一定的参考价值。

志在巅峰的攀登者,不会陶醉在沿途的某个脚印之中,在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天、每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不妨来瞅瞅码农的轨迹。

1 作用描述

用来实现局部数据刷新的功能,官网描述如下:

  • A platonic widget that both has state and calls a closure to obtain its child widget. 一个柏拉图式的小部件,它既有状态,又调用一个闭包来获取它的子小部件。

  • The StateSetter function passed to the builder is used to invoke a rebuild instead of a typical State’s State.setState.传递给构建器的StateSetter函数用于调用重构,而不是典型的State的State. setstate。

  • Since the builder is re-invoked when the StateSetter is called, any variables that represents state should be kept outside the builder function.由于在调用StateSetter时将重新调用构建器,所以表示状态的任何变量都应该保留在构建器函数之外。

2 基本使用核心代码

class DemoStatefulBuilderPage extends StatelessWidget 

  @override
  Widget build(BuildContext context) 
    return Scaffold(
      //状态构建器
      body: buildStatefulBuilder(),
    );
  

  int _count = 0;
  StatefulBuilder buildStatefulBuilder() 
    return StatefulBuilder(
      //构建状态改变的Widget
      builder: (BuildContext context, void Function(void Function()) setState) 
        //居中
        return Center(
          //手势识别
          child: GestureDetector(
            child: Text("早起的年轻人 $_count"),
            //单击事件
            onTap: () 
              //刷新当前  StatefulBuilder 中的状态
              setState(() 
                _count++;
              );
            ,
          ),
        );
      ,
    );
  

如果你迷茫 不妨来此 每日分享 先积累着再说
更多Widget 的应用,小编已总结在书中


以上是关于Flutter StatefulBuilder 用来实现局部数据刷新的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 开发笔记

StatefulBuilder 与 StatefulWidget

Flutter 实现局部刷新 StreamBuilder 实例详解

Flutter 实现局部刷新 StreamBuilder 实例详解

麻烦各位大神指点一下怎样用flutter写出一个首页?

Flutter 即学即用系列博客——04 Flutter UI 初窥