Issue
homepage.dart
@override
void initState() {
super.initState();
_userProfile = Provider.of<UserDataProvider>(context,listen: false).userData;
if (_userProfile['isPaid'] == false) {
Navigator.of(context).pushNamed(PaymentScreen.routeName);
}
}
Error
setState() or markNeedsBuild() called during build.
This error is bugging me. Please help me resolve this.
Thanks.
Solution
You can use your code as below:
@override
void initState() {
super.initState();
Future.delayed(Duration.zero, (){
_userProfile = Provider.of<UserDataProvider>(context,listen: false).userData;
if (_userProfile['isPaid'] == false) {
Navigator.of(context).pushNamed(PaymentScreen.routeName);
}
});
}
Answered By – Reza M
Answer Checked By – Mildred Charles (FlutterFixes Admin)