gpt4 book ai didi

flutter - 不要跨异步间隙使用 BuildContexts。将 pub yaml 更新到主要版本后

转载 作者:行者123 更新时间:2023-12-05 01:23:21 37 4
gpt4 key购买 nike

我已经将 pub yaml 升级到主要版本 flutter pub upgrade --major versions 它给了我很多建议错误我不明白为什么?。谁能解释一下?

这是一个例子。它说 Do not use BuildContexts across async gaps 我想在这里做什么。

_resetEmail(String password,) async {
final user = FirebaseAuth.instance.currentUser;
final credential =
EmailAuthProvider.credential(email: user!.email!, password: password);
try {
UserCredential;
await FirebaseAuth.instance.currentUser
?.reauthenticateWithCredential(credential);

///The problem is here
Navigator.push(
context,
PageTransition(
type: PageTransitionType.rightToLeft,
child: const ResetEmailScreen()));
///

} on FirebaseAuthException {
Fluttertoast.showToast(
msg: 'Wrong password',
gravity: ToastGravity.TOP,
toastLength: Toast.LENGTH_LONG,
backgroundColor: Colors.grey[400],
textColor: Colors.black,
);
}
}

最佳答案

在 Navigator.push 之前添加条件 if (mounted)。您正在异步方法中使用上下文。在执行此方法时,上下文可能会发生变化。但是这个上下文正在传递给导航器。因此我认为错误..

关于flutter - 不要跨异步间隙使用 BuildContexts。将 pub yaml 更新到主要版本后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72505027/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com