Flutter initState 에서 snackBar 사용하기

정규호·2023년 12월 14일
0

Exception

dependOnInheritedWidgetOfExactType<MediaQuery>() or dependOnInheritedElement() was called before

Solve


  void didChangeDependencies() {
    if (GetIt.instance.get<UserServiceProvider>().getIsResNull) {
      showCustomSnackBar(context, 2, "로그인 정보를 불러 올 수 없습니다.\n다시 로그인 해주세요.", -1);
    }
    super.didChangeDependencies();
  }

출처 : 플러터(Flutter) - initState에서 context(BuildContext) 사용하기

Exception

ScaffoldMessenger.showSnackBar was called, but there are currently no descendant Scaffolds to present to.

Solve


  void initState() {
  	Future.delayed(Duration.zero, () {
      final userInfoIsNulll =
          GetIt.instance.get<UserServiceProvider>().getIsResNull;
      if (userInfoIsNulll != null && userInfoIsNulll) {
        showCustomSnackBar(
            context, 2, "로그인 정보를 불러 올 수 없습니다.\n다시 로그인 해주세요.", -1);
      }
    });
  }

출처 : Flutter Snackbar on screen initState

profile
The Man Who Lift

0개의 댓글