I call a function from the build function in my Flutter app.
When I call notifyListeners(); from an async callback function I get the following exception:
setState() or markNeedsBuild() called during build.
My Provider:
class TechTaskProvider extends ChangeNotifier {
...
void requestTasks() {
CollectionReference<Map<String, dynamic>> _collection =
FirebaseFirestore.instance
.collection('techTasks')
.doc(_currentTech!.uid)
.collection('techTasks');
_collection.get().then((s) {
_handleResult(s);
notifyListeners();
});
}
My Trigger widget:
class Trigger extends StatefulWidget {
const Trigger({Key? key}) : super(key: key);
@override
State<Trigger> createState() => _TriggerState();
}
class _TriggerState extends State<Trigger> {
@override
Widget build(BuildContext context) {
MyProvider _myProv = Provider.of<MyProvider>(context);
//
if (isFirstRun) {
//Set the first techincian:
isFirstRun = false;
// //Trigger Firestore request:
_myProv.requestTasks();
}
return Page();
}
}