использование setstate для обновления изменений в базе данных с помощью кнопки обновить

#flutter #dart #setstate #pull-to-refresh

Вопрос:

я использую RefreshIndicator, и он хорошо работает , но не смог сделать его функциональным для моей базы данных , я думаю, что мое состояние набора неверно, можете ли вы помочь мне использовать состояние набора, чтобы сделать его функциональным, вот моя страница продукта..

 class FeaturedProducts extends StatefulWidget {
 @override
  _FeaturedProductsState createState() => _FeaturedProductsState();-
}


class _FeaturedProductsState extends State<FeaturedProducts> {
final keyRefresh = GlobalKey<RefreshIndicatorState>();
  List<ProductModel> products = [];

 @override 
void initState() {
super.initState();

  loadProducts();
 }

Future loadProducts() async {
keyRefresh.currentState?.show();
await Future.delayed(Duration(milliseconds: 4000));



setState(() => this.products = products);,
}

@override
 Widget build(BuildContext context) {
 final productProvider = Provider.of<ProductProvider>(context);

 return RefreshIndicator(
 keyRefresh: keyRefresh,
 onRefresh: loadProducts,

child: ListView.builder(
 scrollDirection: Axis.vertical,
 itemCount: productProvider.products.length,
 itemBuilder: (_, index) {
 return FeaturedCard(
 product: productProvider.products[index],


  );
  }));
 }
}
 

Ответ №1:

Я не уверен на 100%, в чем проблема, но на первый взгляд я могу подумать, что вам лучше использовать FutureBuilder?

Честно говоря, я не совсем понимаю вопрос… :