Flutter Widget 之StatefulBuilder构建方法详解

 更新时间:2022年11月23日 15:32:38   作者:程序员界的小学生  
这篇文章主要为大家介绍了Flutter Widget 之StatefulBuilder构建方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

正文

你曾否意识到你需要拆分一个大型的构建方法,但又觉得这听起来很费劲?

试试StatefulBuilder 以最小的代价获得一个个单独的小部件的所有性能

想象一下,这样的一个小部件,有一个可以切换单一标志的便宜的子部件,然后是一个昂贵的小部件。

除非绝对必要,否则你不会想要重建它

bool isExpanded = false;
Widget build(context) {
    return Column(
        children: [
            InexpendsiveStateful(
                isExpanded: isExpanded,
                onTap: (bool newValue) => setState(() => isExpanded = val),
            ),
            ExpensiveStateless(),
        ]
    );
}

性能问题解决

为了解决性能问题,用一个StatefulBuilder来包装Stateful部分,StatefulBuilder与builder类似,除了传递给builder的那个额外的setState参数

bool isExpanded = falise;
Widger build(context) {
    return Column(
        children: [
            StatefulBuilder(
                builder: (ctx, setState) => 
                    InexpensiveStateful(
                        isExpanded: isExpanded,
                        onTap: (bool newValue) => setState(() => isExpanded = val),
                    )
            ),
            ExpensiveStateless(),
        ]
    );
}

为了善加利用这个崭新的小部件,调用其特殊的setState函数来重建你的应用程序的那一部分,当那个onTap方法被调用setState时,它就是你的StatefulBuilder的setState范围

这意味着你的ExpensiveStateless小部件仍然没有被触动

StatefulBuilder是一个很好的方法,可以从一个单独的小部件中获得所有的性能提升,而不需要做大部分的工作。

如果想了解有关# StatefulBuilder的内容,或者关于Flutter的其他功能,请访问pub.dev

以上就是Flutter Widget 之StatefulBuilder构建方法详解的详细内容,更多关于Flutter Widget StatefulBuilder的资料请关注脚本之家其它相关文章!

相关文章

  • Android基于ViewPager+Fragment实现左右滑屏效果的方法

    Android基于ViewPager+Fragment实现左右滑屏效果的方法

    这篇文章主要介绍了Android基于ViewPager+Fragment实现左右滑屏效果的方法,结合实例形式分析了Android实现滑屏效果的布局与滑动功能相关操作技巧,需要的朋友可以参考下
    2017-07-07
  • Flutter自定义圆盘取色器

    Flutter自定义圆盘取色器

    这篇文章主要为大家详细介绍了Flutter自定义圆盘取色器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • kotlin gson反序列化默认值失效深入讲解

    kotlin gson反序列化默认值失效深入讲解

    这篇文章主要大家介绍了关于kotlin gson反序列化默认值失效的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • Android九宫格程序设计代码

    Android九宫格程序设计代码

    这篇文章主要为大家详细介绍了Android九宫格程序设计代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • Android触屏测试实例代码

    Android触屏测试实例代码

    这篇文章主要介绍了Android触屏测试实例代码,可实现对一些常用事件的响应及处理,对Android初学者有很好的借鉴价值,需要的朋友可以参考下
    2014-07-07
  • Android操作系统之内存回收策略

    Android操作系统之内存回收策略

    Android 是一款基于 Linux 内核,面向移动终端的操作系统。为适应其作为移动平台操作系统的特殊需要,谷歌对其做了特别的设计与优化,使应用程序关闭但不退出,并由操作系统进行进程的回收管理
    2016-01-01
  • Android事件分发机制(上) ViewGroup的事件分发

    Android事件分发机制(上) ViewGroup的事件分发

    这篇文章主要为大家详细介绍了Android ViewGroup的事件分发机制上篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • android实现一个图片验证码倒计时功能

    android实现一个图片验证码倒计时功能

    本文通过实例代码给大家介绍了android实现一个图片验证码倒计时功能,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-11-11
  • Android中打电话的数据流程分析

    Android中打电话的数据流程分析

    所有流程的起点是从拨号后按下拨号键开始,接下来将对打电话的数据流程进行源码分析,感兴趣的朋友可以了解下
    2013-01-01
  • Android ListView分页简单实现

    Android ListView分页简单实现

    这篇文章主要介绍了Android ListView分页简单实现的相关资料,需要的朋友可以参考下
    2017-06-06

最新评论