StatefulWidget

Posted timba1322

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了StatefulWidget相关的知识,希望对你有一定的参考价值。

和StatelessWidget一样,StatefulWidget也是继承自Widget类,并重写了createElement()方法,不同的是返回的Element 对象并不相同;另外StatefulWidget类中添加了一个新的接口createState()

 1 // StatefulWidget的类定义:
 2 import ‘package:flutter/material.dart‘;
 3 
 4 abstract class StatefulWidget extends Widget {
 5   const StatefulWidget({ Key key }) : super(key: key);
 6 
 7   @override
 8   StatefulElement createElement() => new StatefulElement(this);
 9 
10   @protected
11   State createState();
12 }
13 
14 // StatefulElement 间接继承自Element类,与StatefulWidget相对应(作为其配置数据)。
15 // StatefulElement中可能会多次调用createState()来创建状态(State)对象。
16 
17 // createState() 用于创建和Stateful widget相关的状态,它在Stateful widget的生命周期中可能会被多次调用。
18 // 例如,当一个Stateful widget同时插入到widget树的多个位置时,Flutter framework就会调用该方法为每一个位置生成一个独立的State实例,
19 // 其实,本质上就是一个StatefulElement对应一个State实例。

 

以上是关于StatefulWidget的主要内容,如果未能解决你的问题,请参考以下文章

Flutter中StatelessWidget调用StatefulWidget的函数

Flutter StatefulWidget 带参数

Flutter StatefulWidget 没有被重建

在重建时 Flutter 重用 StatefulWidget 的状态

如何在 StatelessWidget 中更改 StatefulWidget 的状态?

为啥父 StatefulWidget 中的 setState 不更新子 StatefulWidget [重复]