🤖

Don't use 'BuildContext's across async gaps.Try rewriting the code to

2024/02/27に公開

Don't use 'BuildContext's across async gaps.
Try rewriting the code to not reference the 'BuildContext'.

void logout(BuildContext context) async {
  await FirebaseAuth.instance.signOut(); // ユーザーをログアウトさせる
  // ログアウト後、ログインページに遷移
  Navigator.pushReplacement(
    context,
    MaterialPageRoute(builder: (context) => DashboardPage()), // LoginPageに遷移する
  );
}

asyncじゃなくて、thenを使うと解決する。

void logout(BuildContext context) {
  FirebaseAuth.instance.signOut().then((_) {
    // ログアウト後、ログインページに遷移
    Navigator.pushReplacement(
      context,
      MaterialPageRoute(
          builder: (context) => DashboardPage()), // LoginPageに遷移する
    );
  }).catchError((error) {
    // エラー処理をここに記述
  });
}

参考:https://zenn.dev/arafipro/articles/2023-06-08-flutter-warning

Discussion