controller가 singleton 방식인 것을 활용
기존
controller
class CountControllerWithGetX extends GetxController {
int count = 0;
void increase(String id) {
count++;
update([id]);
}
}
contoller에 접근
Get.find<CountControllerWithGetX>().increase();
활용
controller에 state으로 get to 추가
class CountControllerWithGetX extends GetxController {
static CountControllerWithGetX get to => Get.find();
int count = 0;
void increase(String id) {
count++;
update([id]);
}
}
controller.to 로 접근 가능
CountControllerWithGetX.to.increase();
controller가 reactive 방식일때 stateless 대신 getview를 사용해서 접근
stateless -> GetView로 변경
// stateless -> GetView로 변경
class BindingPage extends GetView<CountControllerWithReactive> {
const BindingPage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: Column(
children: [
Text(
"GetX",
style: TextStyle(fontSize: 50),
),
// reactive 방식이어야함
Obx(() => Text(
"${controller.count.value}",
style: TextStyle(fontSize: 50),
)),
RaisedButton(
onPressed: () {
//GetView 안에 controller가 있음
controller.increase();
},
child: Text(
"+",
style: TextStyle(fontSize: 50),
),
),
],
),
);
}
}
참고
https://www.youtube.com/watch?v=O1Bw-mwF9xc
728x90
'Usage > Flutter' 카테고리의 다른 글
[Flutter/Animation] ScaleTransition을 활용한 컨테이너 사이즈 애니메이션 (0) | 2021.06.24 |
---|---|
[Flutter/Animation] AnimatedContainer를 활용한 오른쪽에서 왼쪽으로 이동하는 컨테이너 (0) | 2021.06.24 |
[Flutter] GetX 종속성 관리 - 의존성 주입 (0) | 2021.06.17 |
[Flutter] GetX의 반응형 상태관리 (0) | 2021.06.17 |
[Flutter] GetX 단순 상태관리, Provider 비교 (0) | 2021.06.17 |