我理解根据文档
在什么情况下,我需要将setState()
与mounted
一起使用?什么时候我不应该?下面给出两个例子:
onChanged: (value) {
setState(() {
valueOld = value
});
},
if(mounted){
setState(() {
valueOld = value
});
}
有人能给我指路吗?非常感谢!谢谢:D
mounted
属性是true
,当创建了与BuildContext
相关联的对象State
并调用了initState
时。
这就是为什么如果你想在initState
之前使用setState((){ if(mounted) // TODO})
,你必须测试State
是否是mounted
,以确保已经创建了Context
(状态(。
在其他情况下,可以在不使用mounted
的情况下使用setState((){ // TODO})
,因为对象State
被挂载一次。