美文网首页
Flutter StatelessWidget和Stateful

Flutter StatelessWidget和Stateful

作者: 有梦想的狼 | 来源:发表于2020-07-16 16:01 被阅读0次
    • 什么是生命周期:
      1、生命周期是人家封装好的一套接口,然后提供的回调方法,当发生变化时,我们只需要实现它。(按通俗的讲,就是回调方法(函数))。
      2、让你知道我封装好的这个widget它处于什么样的状态了!
    • 那生命周期有什么作用
      1、监听Widget的事件
      2、初始化数据
      (1)、创建数据
      (2)、发送网络请求
      3、内存管理
      (1)、销毁数据、销毁监听者
      (2)、销毁Timer等等

    StatelessWidget生命周期

    1. 构造函数
    2. build方法
    class MyHomePages extends StatelessWidget{
      final String title;
      MyHomePages({this.title}){
        print("构造函数被调用");
      }
      @override
      Widget build(BuildContext context) {
        // TODO: implement build
        print("build方法被调用了");
        return Center(
          child: Text(title),
        );
      }
    }
    

    打印结果为

    flutter: 构造函数被调用
    flutter: build方法被调用了
    

    StatefulWidget生命周期

    1、widget的构造方法
    2、widget的createState方法
    3、state的构造方法
    4、state的initState方法,(重写该方法时,必须要先调用super. initState()
    5、didChangeDependencies方法,分两种情况:
    (5.1)、调用initState方法后,会调用该方法,
    (5.2)、从其他widget中依赖一些数据发生改变时,比如用InheritedWidgetprovider来监听数据的改变)
    6、state的build方法(当调用setState方法,会重新调用build进行渲染)
    7、state的deactivate方法(当state被暂时从视图移除的时候会调用,页面push走、pop回来的时候都会调用。因为push、pop会改变widget在视图树位置,需要先移除再添加。重写该方法时,必须要先调用super.deactivate()
    8、state的dispose方法。页面被销毁的时候调用,如:pop操作。通常情况下,自己的释放逻辑放在super.dispose()之前,先操作子类在操作父类。

    相关文章

      网友评论

          本文标题:Flutter StatelessWidget和Stateful

          本文链接:https://www.haomeiwen.com/subject/gapuhktx.html