StatefulWidget:flutter有状态组件

  1. 1. 概述
  2. 2. 生命周期
  3. 3. State生命周期函数
  4. 4. 生命周期阶段
    1. 4.1 初期化
    2. 4.2 reload热更新
    3. 4.3 析构
  5. 5. 代码模板

1. 概述

StatefulWidget是flutter的有状态组件,通过State类对数据进行管理。
example代码位置: example

2. 生命周期

State类最主要管理的是数据的生命周期

Flutter系统架构中关于State的说明(需要翻墙)。

生命周期

3. State生命周期函数

函数 描述
State 构造函数会在最开始被调用
initState Widget创建时进行调用,在构造函数之后
didChangeDependencies State对象的依赖发生变化时会被调用
build 它用于构建Widget子树的,当setState触发的时候会被调用
didUpdateWidget 组件状态改变时候调用
deactivate State对象从树中被移除时,会调用此回调。
dispose 当State对象从树中被永久移除时调用;通常在此回调中释放资源。
reassemble 在热重载(hot reload)时会被调用,此回调在Release模式下永远不会被调用

4. 生命周期阶段

4.1 初期化

构造函数

initState

didChangeDependencies

build

4.2 reload热更新

reassemble

didUpdateWidget

build

4.3 析构

deactivate

dispose

5. 代码模板

import 'package:flutter/material.dart';

class MyStatefulWidget extends StatefulWidget {
  @override
  _MyStatefulWidgetState createState() => _MyStatefulWidgetState();
}

class _MyStatefulWidgetState extends State<MyStatefulWidget> {
  _MyStatefulWidgetState() {}

  @override
  void initState() {
    super.initState();
  }

  @override
  void dispose() {
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        // Here we take the value from the MyHomePage object that was created by
        // the App.build method, and use it to set our appbar title.
        title: Text('Stateful Widget'),
      ),
      body: Center(),
    );
  }
}

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 wind.kaisa@gmail.com

💰

×

Help us with donation