如何更新从 Flutter 中的未来图片获取的数据?

How can I update the data fetched from a future bilder in Flutter?

在我的应用程序中,我有一个屏幕,其中包含 3 个不同的未来构建器,我想更新从未来构建器中恢复的数据。我尝试了 setState () 方法,但这会更新页面上所有 3 个未来的构建器,我只需要更新一个。我该怎么办?

我的 3 位未来建设者的结构如下:

FutureBuilder(
future: getData(), //Fetch the data
builder:
    (context, AsyncSnapshot snapshot) {
  if (snapshot.connectionState == ConnectionState.done) {
    return Text('${snapshot.data}',
        style: const TextStyle(
            fontSize: 15,
            color: Colors.black));
  } else {
    return const CircularProgressIndicator.adaptive();
  }
})

Setstate 将始终重建您的页面。请使用getx、provider等状态管理插件进行部分更新。

如果您只想重建屏幕的一部分,可以使用 StatefulBuilder。 用 StatefulBuilder 包裹要重建的单曲 FutureBuilder,如下所示:

StatefulBuilder(
 builder: (context, setState) {
  return YourFutureBuilder();
 },
)

如果从 StatefulBuilder 内部调用 setState,则只会重建被 StatefulBuilder 包裹的屏幕部分。