본문 바로가기

상태관리7

[상태관리#6]그래서...어떤 상태관리를 쓸거야? 상태관리를 한번씩 다 써본 이유는 사실을 고백하자면, 공부하고자하는 이유도 분명 있었지만 새로운 프로젝트를 들어갈때 어떤 상태관리를 써야할지 고민을 하고 있어서였다. 모든 상태관리를 다 써본결과는 아래와 같았다. 1.GetX -> 대규모 프로젝트로 갈수록 난잡해지는 코드와 패키지 자체의 무거움을 생각하면 무조건 Fail 2.BloC -> UI와 비지니스로직의 깔끔한 분리는 무척 좋지만 많은 양의 boilerplate Code.... 3.Provider -> 업그레이드 버전인 riverpod이 있는데 굳이? Fail 4.RiverPod -> 무난함 5.mobX -> 개취지만 code generate로 프로젝트를 얼룩덜룩하게 만들고싶지 않아서...Fail 결론은 Bloc와 riverpod이 남았고, 진행할 .. 2023. 11. 22.
[상태관리#5] mobX 마지막으로 다소 생소한 상태관리 mobx이다. 이거는 할까말까 고민했는데 flutter favorite을 받았길래 한번 다뤄보긴해야겠다싶어 하게 되었다. 코드는 아래와 같다. import 'package:mobx/mobx.dart'; part 'controller.g.dart'; class Counter = CounterBase with _$Counter; abstract class CounterBase with Store { @observable int value = 0; @action void increment() { value++; } void decrement() { value--; } } import 'package:flutter/material.dart'; import 'package:flut.. 2023. 11. 22.
[상태관리#4]RiverPod provider의 거지같은 공식문서를 보다가 riverpod의 공식문서를 보니 선녀가 따로 없었다. riverpod으로 짠 counter 코드는 아래와 같다. import 'package:flutter_riverpod/flutter_riverpod.dart'; final counterStateProvider = StateProvider((ref) { return 0; }); class RiverPodController { void increase(WidgetRef ref) { ref.read(counterStateProvider.notifier).state++; } void decrease(WidgetRef ref) { ref.read(counterStateProvider.notifier).state--.. 2023. 11. 22.
[상태관리#3]Provider 개인적으로 공부하면서 공식문서에 대해 증오심이 생길정도였다....... 나만 그런걸수도 있겠지만 문서가 너무 그지같았다.ㅡㅡ provider로 구현한 counter 코드는 아래와 같다. import 'package:flutter/material.dart'; class CountProvider with ChangeNotifier { int _count = 0; int get count => _count; void increase() { _count++; notifyListeners(); } void decrease() { _count--; notifyListeners(); } } import 'package:flutter/material.dart'; import 'package:provider/provid.. 2023. 11. 22.