【发布时间】:2020-01-07 15:32:31
【问题描述】:
我遇到了有趣的行为。我在 Stateful 小部件中有一个 FutureBuilder。如果我单独返回 FutureBuilder,一切正常。我的 API 只被调用一次。
但是,如果我添加额外的逻辑,并在两个小部件之间做出选择 - 我可以在 chrome 中看到我的 API 被调用了数十次。我知道build 方法随时都会执行,但是这个额外的逻辑是如何完全破坏Future 的行为的呢?
这里是 api 调用一次的例子。
@override
Widget build(BuildContext context) {
return FutureBuilder(..);
}
如果someBooleanFlag 是false,以下是多次调用api 的示例。
@override
Widget build(BuildContext context) {
if(someBooleanFlag){
return Text('Hello World');
}
else{
return FutureBuilder(..);
}
谢谢
【问题讨论】: