Wal*_*r M 11 android ios flutter
我阅读了文档,但目前尚不清楚.
它声明"当将此对象插入树中时,[initState is]被调用."
将小部件插入树中时,表示已创建小部件,这意味着将调用类构造函数.init的目的是什么?初始化类实例不是构造函数的目的吗?
谢谢你们的时间.
die*_*per 14
在某些情况下,你将需要启动动画或当您创建改变状态Widget,那么是不是可以做,在你的构造,因为你Widget是不是在树中插入呢。
示例 AnimationController
AnimationController _animationController ;
...
@override
void initState() {
... instance the animationController
_animationController.forward();
super.initState();
}
Run Code Online (Sandbox Code Playgroud)
另一个例子,当你从另一个接收一些参数时Widget,假设你StatefulWidget有一个命名的参数,title并且你想在你的 State 类中创建一个局部变量来处理状态,你必须做这样的事情:
class ExampleWidget extends StatefulWidget {
final String title;
ExampleWidget({this.title});
....
YourStateClass extends State<ExampleWidget> {
var localVariable;
@override
void initState() {
localVariable = widget.title;
super.initState();
}
Run Code Online (Sandbox Code Playgroud)
现在您可以使用您localVariable的小部件树内部来更新状态。
Mat*_*Pag 13
不同之处在于(在创建State对象的上下文中)具有以下initState()方法:
constructor只需创建一个新State实例
initState()在创建对象之后被调用并且在这一点上可以访问的BuildContext或StatefulWidget其中,以State附接至,分别使用context和widget性能.此时State已安装.
参考State:https://docs.flutter.io/flutter/widgets/State-class.html
参考mounted State:https://docs.flutter.io/flutter/widgets/State/mounted.html
| 归档时间: |
|
| 查看次数: |
2180 次 |
| 最近记录: |