Не могу понять, почему 2 setState в asyn c onPressed метод вызывает ошибку
Необработанное исключение: setState () вызывается после dispose (): _LoginScreenState # 0eb2 c (жизненный цикл) состояние: не работает, не смонтировано)
Вот мой код
RaisedButton(
child: Text('Login'),
onPressed: emailController.text == "" || passwordController.text == ""
? null
: () async {
setState(() {
_isLoading = true;
});
SharedPreferences prefs =
await SharedPreferences.getInstance();
prefs.setString('email', emailController.text);
try {
await Provider.of<Auth>(context, listen: false)
.signIn(emailController.text, passwordController.text);
} on HttpException catch (error) {
exceptionAlertDialog(context, error.toString());
} catch (error) {
exceptionAlertDialog(context, error.toString());
}
setState(() {
_isLoading = false;
});
},
)
как только isLoading верен, я отображаю счетчик .. Ничего экстраординарного
body: Container(
alignment: Alignment.center,
child: _isLoading
? Center(child: CircularProgressIndicator())
: ListView(
children: <Widget>[textSection(), buttonSection()],
),
),
Все работает нормально, если я закомментирую эти 2 состояния в кнопке onPressed.