Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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
Tags
more
Archives
Today
Total
관리 메뉴

coding etude

[GetX] the improper use of a GetX has been detected. 본문

Flutter(Dart)

[GetX] the improper use of a GetX has been detected.

코코리니 2022. 10. 12. 16:33

직역 하자면 'GetX의 부적절한 사용이 확인 되었다.' 인데 어느 부분이 잘못 사용 되었는지 알기 쉽지 않다.

하지만 생각보다 이유는 단순하다. Obx() 내에는 무조건 Rx값을 controller에서 사용해야 한다.

쉽게말해 controller 에서 .obs로 값이 변했을때 알려주는 Rx값을 사용해야 한다는것이다.

만약 단순 변수를 사용 하는데 Obx()를 사용 한다면 이벤트를 알려줄 변수가 없이 사용했기 때문에 발생하는 오류인 것이다.

 

오류코드 예시

///// controller /////

bool isNull = false; // .obs 사용사 오류 발생
// var isNull = false.obs; 는 허용됨. var이 자동으로 타입추론을 하기 때문이다.

///// GetView /////

return Obx(() => Scaffold()) // Rx변수가 포함되어 있지 않기 때문에 오류 발생

코드예시

///// controller /////

var count = 0.obs; // 사실 이 변수는 Rx<int> count = 0.obs; 인것!


///// GetView /////

return Obx(() => Scaffold(
	.
    .
    ontap: () {
		controller.count++
    }
)