티스토리 뷰

[문제코드]

class ThemeViewModel extends GetxController{
  RxBool isLightTheme = false.obs;

  void changeTheme() {
    if (isLightTheme) {
      Get.changeThemeMode(ThemeMode.dark);
      isLightTheme = false; // 문제 발생
    } else {
      Get.changeThemeMode(ThemeMode.light);
      isLightTheme = true; // 문제 발생
    }
  }
}

 

 

[해결]

class ThemeViewModel extends GetxController{
  RxBool isLightTheme = false.obs;

  void changeTheme() {
    if (isLightTheme.isTrue) {
      Get.changeThemeMode(ThemeMode.dark);
      isLightTheme(false); // 해결
    } else {
      Get.changeThemeMode(ThemeMode.light);
      isLightTheme(false); // 해결
    }
  }
}

 

 

RxBool 타입은 일반적인 Bool이 아니라 발생하는 문제였습니다.

Rx타입의 메소드를 이용해주면 됩니다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함