Flutter StatelessWidget和Stateful

2020-07-16  本文已影响0人  有梦想的狼

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()之前,先操作子类在操作父类。

上一篇下一篇

猜你喜欢

热点阅读