【发布时间】:2021-09-23 19:20:33
【问题描述】:
我正在使用 FutureProvider 从 Laravel API 获取数据(位置)以显示该数据在颤动中。现在的问题是它一次又一次地重建,甚至服务器开始抛出"too many attempts" 的错误。我正在使用ListView.builder 显示从 API 获取的所有位置,但是当我滚动到下一个位置然后滚动回上一个位置时,它会重建。平均FutureProvider 正在一次又一次地重建。这是附加的代码。我还尝试在 ListView 中添加addAutomaticKeepAlives: true, 以保存状态
Container(
height: 100,
child: ListView.builder(
addAutomaticKeepAlives: true,
scrollDirection: Axis.horizontal,
itemCount: places.length,
itemBuilder: (_, index) {
return FutureProvider(
initialData: null,
create: (context) =>
getFireIceCount(index, places),
child: Consumer<List<dynamic>>(
builder: (context, fireIceCount,
child) {
return (fireIceCount != null)
? (fireIceCount.isNotEmpty)
? PlacesImageViewer()
: Center(
child:
CircularProgressIndicator(
color:
Colors.cyan,
),
)
: Center(
child:
CircularProgressIndicator(
color: Colors.red,
),
);
},
),
);
},
),
),
【问题讨论】:
标签: flutter dart provider flutter-provider