У меня есть класс состояния виджета флаттера, как показано ниже. Я вызываю Provider.of<AppData>(context, listen: false).recalculateCart();
внутри initState ().
При запуске появляется сообщение об ошибке setState () или markNeedsBuild (), вызываемое во время сборки.
Как мне их устранить?
class CartPageState extends State<CartPage> {
final TextEditingController _couponController = TextEditingController();
@override
void initState() {
// TODO: implement initState
super.initState();
Provider.of<AppData>(context, listen: false).recalculateCart();
}
@override
Widget build(BuildContext context) {
if (Provider.of<AppData>(context, listen: false).selectedStoreId == null){
Provider.of<AppData>(context, listen: false).setPageAfterStoreSelection('cart');
return ChooseStorePage(title: 'Choose Store to Continue');
}
...
}
Также вот функция recalculateCart ():
void recalculateCart() {
notifyListeners();
}