mounted

https://cloud.tencent.com/developer/article/1188468

 

2. mounted is true

 

当这个Widget调用createState 后, 会将buildContext 传入。 BuildContext 内有自己在widget tree上相关的信息。

 

所有的widgets 都有 bool this.mounted 这个属性. 当BuildContext传入时,它将会被标记成 true。如果这个属性不是true的话,调用setState会报错。 

 

注意:你可以在调用setState前,检查一下这个变量。

 

if (mounted) {...` to make sure the State exists before calling `setState()

3 . initState()

 

这个方法只会调用一次,在这个Widget被创建之后。它必须调用super.initState().

 

在这里可以做:

 

初始化根据对应BuildContext的状态

初始化根据在树上的父节点的属性确定的值

注册Streams ChangeNotifiers或者其他会改变的数据的监听。

 

posted @ 2019-05-07 22:43  CrossPython  阅读(670)  评论(0编辑  收藏  举报