【发布时间】:2020-03-11 17:49:20
【问题描述】:
我正在尝试在颤振应用程序中使用 bloc 模式我在返回 Scaffold() 之前在构建函数的主体内编写代码;如下
@override
Widget build(BuildContext context) {
final ProductsController pController = Provider.of<ProductsController>(context);
pController.addProducts();
return Scaffold();
}
一切都是完美的,但功能 addPrducts() 调用了太多次它看起来下面的代码重复了很多次
pController.addProducts();
这是 ProductsContoller 类的结构
class ProductsController extends ChangeNotifier {
List<Products> _products=List();
AppDatabase appDB=AppDatabase();
List<Products> get products=>_products;
addProducts() {
appDB.getFromTable(AppDatabase.TBL_PRODUCTS).then((rows){
rows.forEach((row){
Products product=Products.fromJson(row);
_products.add(product);
});
notifyListeners();
});
}
}
【问题讨论】:
-
你在构建方法中使用
setState吗? -
不,我使用 bloc 来避免使用 setState