Flutter에는 여러 state 관리 접근 방식이 있습니다 — 내장(setState, InheritedWidget)부터 인기 있는 라이브러리(Provider, Riverpod, Bloc, GetX)까지. 주요 옵션, 그 철학, 트레이드오프를 이해하면 앱에 맞는 접근 방식을 선택하는 데 도움이 됩니다.
내장 접근 방식
setState → StatefulWidget 내의 로컬 state (단순; 공유 state로 확장되지 않음)
InheritedWidget → 트리 아래로 state를 공유하는 내장 방법 (많은 라이브러리가 그 위에
구축하는 기반; 직접 사용하기엔 장황)
Provider — 단순하고 권장됨
PROVIDER → 공식 권장, InheritedWidget 기반; 단순, 널리 사용:
→ 트리의 한 지점에서 state 제공; 자손이 "watch"/소비
→ ChangeNotifier가 state를 보유하고 리스너에 알림 → 변경 시 UI 다시 빌드
→ 많은 앱에 적합; 완만한 학습 곡선
