如何更新从 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
包裹的屏幕部分。
在我的应用程序中,我有一个屏幕,其中包含 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
包裹的屏幕部分。