跳转至

状态

状态


状态组件

Stateful 有状态

在 IDE 内输入 stful 回车键可以快速创建

有状态组件
class RandomWords extends StatefulWidget {
  const RandomWords({Key? key}) : super(key: key);

  @override
  State<RandomWords> createState() => _RandomWordsState();
}

class _RandomWordsState extends State<RandomWords> {
  // 可以实例化一些对象

  类名({
    required this.product, // 接收参数
  });

  final Product product;  // 接收的参数

  // 可以定义一些方法
  void 名称() {
    // 代码
  }
  @override
  Widget build(BuildContext context) {
    // 接收路由传递的参数
    var params = ModalRoute.of(context)?.settings.arguments;

    return Text('');  // 返回组件
  }
}

接收参数

演示
class A extends StatefulWidget {
  String name;  // 参数
  A({Key? key, required this.name }) : super(key: key);  // name 为接收的参数

  @override
  State<A> createState() => _AState();
}

class _AState extends State<A> {

  @override
  void initState() {
    super.initState();
    this.widget.name  // 接收到传递到参数 
  }
  // 省略代码
}

initState

放在有状态组件内的方法, 每次调用的时候执行一次.

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

  }

Stateless 无状态

在 IDE 内输入 stless 回车键可以快速创建


更新状态

在状态组件内 为一个已有变量更新值

setState(() {
  变量 = ;
})