본문 바로가기
TIL

[TIL] 상태관리

by chengzior 2024. 10. 23.

내일배움캠프 Flutter 앱 개발 

GetX 통한 상태 관리

import 'package:get/get.dart';

class ProductController extends GetxController {
  Set<String> products = {};
  Set<String> leftProducts = {};
  Set<String> rightProducts = {};

  void addProduct(String product) {
    products.add(product);
    update();
  }
  void pushZone(bool isLeft, String product) {
  if (isLeft) {
    leftProducts.add(product);
  } else {
    rightProducts.add(product);
  }
  products.remove(product);
  update();
}
}

상태관리 하기위해서 어디에도 속하지 않는 컨트롤러를 등록해줘야 한다.
-> 원하는 상태를 가져다 놓고 등록.
-> update 함수를 통해 원하는 영역 바로 update.
-> (setState는 전체 업데이트)

setState의 한계
1. 여러 위젯 간에 상태를 공유해야 할 때, 상태를 전달하는 것이 복잡해지고 비효율적
2.상태 변경이 중앙에서 관리되지 않기 때문에 코드가 산만해지고 유지 보수가 어려움
3.해당 StatefulWidget 전체를 다시 빌드
4.setState는 위젯 트리의 특정 부분에서만 동작하기에 전역 상태를 관리하거나 앱 전체에서 상태 접근하기 어려움

 

 

'TIL' 카테고리의 다른 글

[TIL] Dart 문법 기초  (0) 2024.10.28
[TIL] 5주차 메모 앱 개발  (1) 2024.10.25
[TIL] firebase 연동  (1) 2024.10.24
[TIL] 앱 개발 종합반 - 2주차 위젯  (0) 2024.10.22
[TIL] Dart 문법 이해하기  (1) 2024.10.21