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或者其他会改变的数据的监听。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步