본문 바로가기

Programming/flutter

[flutter] state management - GetX

GetX는 Provider를 이를 새로운 State management이다.

Provider도 Bloc에 비해선 편하다고 한다.

GetX는 이번에 처음 사용해 보았는데도 편함이 느껴졌다.

 

대부분에 flutter 관련 문서는 영어로 되어 있는데 GetX는 한국어 공식 문서도 있다. 

https://github.com/jonataslaw/getx/blob/master/README.ko-kr.md

 

jonataslaw/getx

Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject dependencies easily with Get. - jonataslaw/getx

github.com

 

void main() => runApp(GetMaterialApp(home: Home()));

app 구동 코드

 

그리고 class에 Controller를 넣어서 state관리 할때 사용할 변수, 함수를 넣는다.

아래는 내가 예시로 제작한 Contorller class이다. 

class Controller extends GetxController {
  var count = 1.obs;
  increment() => count++;
  decrement() => count--;
  var name = 'Move to next page'.obs;
  var page = 1.obs;
  n_page() => page++;
  init_page() => page = 1.obs;
}

 

VSCODE로 작성하다보면 항상 이런 문제가 발생한다.

 

Target of URI doesn't exist: 'package:get/get.dart'.
Try creating the file referenced by the URI, or Try using a URI for a file that does exist.

 

이럴땐 터미널 창에 flutter packages get을 해주면 된다.