[Flutter] GetX의 상태관리

남예지·2024년 3월 25일
0

Flutter

목록 보기
2/6

GetX란?

: App의 상태관리와 라우팅을 위한 패키지

GetX 라이브러리

//import / 라이브러리 동기화
    flutter pub add get
    flutter pub get
  import 'package:get/get.dart';
  
  void main() {
    runApp(const GetMaterialApp(home: MyApp()));
  }

GetX를 통한 상태관리 방식 2가지

단순 상태 관리(Simple state management)

a. GetBulider
- 만약 단순 상태관리만 한다면 GetMaterialApp을 사용 안하는게 더 가볍다. (그냥 MaterialApp 사용)
- Observable의 변화를 listen 하지 않음
- 수동으로 UI를 리빌드 해야 함 = update 메서드 호출

반응형 상태 관리(Reactive state manager)

a. Obx
- Observable의 변화를 listen함
- Controller 인스턴스가 미리 다른 곳에 initalize 되어 있어야 함

b. GetX
- Observable의 변화를 listen함
- 자체적으로 Controller 인스턴스를 initialize 할 수 있음
- Obx보다 다양한 기능을 내장하고 있어서 좀 더 무거움

💡 worker 추가기능 : init 함수 안에서 따로 listening을 할 수 있음.

  • Ever : 매번 변경 될 때 실행
  • Once : 처음 변경 되었을 때만 실행
  • Interval : 계속 변경이 있는 동안 특정 지정 시간 인터벌이 지나면 실행(서버에서 라이브로 데이터를 가져와야 할 때 (검색 등))
  • Debounce : 인터벌이 끝나고 나서 특정 지정 시간 이후에 한번만 실행(서버에서 라이브로 데이터를 가져와야 할 때 (검색 등))

참고 영상
https://www.youtube.com/watch?v=CoFLunStYdU&list=PLmEhRs1HB7RE8V-ozNeLV3qKdXPzICVx1&index=6

profile
총총

0개의 댓글