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实例。

 

posted @ 2020-03-13 12:03  lai1322  阅读(230)  评论(0编辑  收藏  举报