Как упоминал Гюнтер, такого понятия, как onStateChanged()
, не существует.Вы должны иметь дело с этим build()
методом.
Если я вас правильно понял, вы можете использовать вот так:
class _MyAppState extends State<MyApp> {
bool myFlag = false; // initially set to false
void _doYourWork() {
setState(() => myFlag = true); // set to true here
}
@override
Widget build(BuildContext context) {
if (myFlag) {
// setState() just got called
} else {
// we are building fresh for the first time.
}
myFlag = false;
return yourWidget();
}
}
После этого build()
получит myFlag
значение true
и затем может установить false
снова.Итак, вы можете сделать этот трюк.