setState()
方法应该在StatefulWidget
的initState()
方法内调用吗?
我的理解是,initState()
方法会自动应用状态。
下面的代码不起作用。post对象被评估为空。
@override
void initState() {
ItemService.getItemById(widget.postId).then((DocumentSnapshot doc){
post = ItemService.getPostFromDocument(doc);
});
}
但以下的方法可行。
@override
void initState() {
ItemService.getItemById(widget.postId).then((DocumentSnapshot doc){
setState((){
post = ItemService.getPostFromDocument(doc);
});
});
}
有些情况下,即使在同一个类中没有使用setState()
也能正常工作。
那么我何时应该在initState()
方法中使用setState()
,何时不用呢?
另外相关的问题:
我何时应该在我的initState()
中调用super.initState()
?如果我没调用它会有影响吗?
super.initState()
。你试过了吗? - Andrii Turkovskyi