내일배움캠프 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 |