statemanagement (3)


[Jetpack Compose] remember와 MutableState 완벽 이해하기

[Jetpack Compose] remember와 MutableState 완벽 이해하기

안녕하세요! 화면의 상태 를 다룰 때 필수적으로 사용하는remember와 MutableState에 대해 알아보겠습니다.1. 왜 그냥 변수로는 안 될까요?전통적인 XML 방식과 달리, 컴포즈는 데이터가 변하면 함수를 다시 실행(Recomposition)하여 화면을 그립니다. 하지만 일반적인 변수를 선언하면 함수가 다시 호출될 때마다 값이 초기화되어 버립니다.@Composablefun Counter() { var count = 0 // 리콤포지션이 일어날 때마다 다시 0이 됩니다! Button(onClick = { count++ }) { Text("클릭 횟수: $count") }}함수가 재생성되면서 count를 다시 0으로 만들기 때문이죠. 이 문제를 해결하기 위해 필요..

Flutter 입문(3): 상태 관리의 시작, Provider 완벽 가이드

Flutter 입문(3): 상태 관리의 시작, Provider 완벽 가이드

[Flutter] 상태 관리의 시작, Provider 완벽 가이드안녕하세요! 오늘은 플러터 앱 개발의 필수 관문인 상태 관리(State Management), 그중에서도 구글이 공식적으로 권장했던 Provider 라이브러리에 대해 자세히 알아보겠습니다.1. Provider란 무엇인가요?플러터는 모든 것이 위젯으로 이루어져 있습니다. 데이터(상태)를 하위 위젯으로 전달하려면 생성자를 통해 하나하나 넘겨줘야 하는데, 이를 Prop Drilling이라고 합니다. 위젯 트리가 깊어질수록 이 과정은 매우 고통스러워지죠.Provider는 이 문제를 해결해줍니다. 데이터를 "공중에 띄워놓고" 필요한 위젯이 어디서든 꺼내 쓸 수 있게 해주는 의존성 주입(DI) 및 상태 관리 도구입니다.2. 왜 Provider를 쓸까요..

왜 상태 관리가 중요한가? (State Management)

왜 상태 관리가 중요한가? (State Management)

상태(State)"란 무엇인가? - 특정 시점에 사용자가 화면에서 보고 있는 모든 정보 를 의미합니다. 1. 실생활 예시로 이해하기스마트폰의 배터리 아이콘을 생각해 보세요.배터리가 80%일 때 -> 초록색 아이콘 (상태 A)배터리가 15%일 때 -> 빨간색 아이콘 (상태 B)충전기를 꽂았을 때 -> 번개 모양 아이콘 (상태 C)여기서 배터리 잔량(숫자) 은 데이터이고, 그 데이터에 따라 변하는 아이콘의 모양과 색상이 바로 상태입니다. - StateFlow UI는 상태를 바라보기만 한다: UI는 "상태가 변하면 알려줘, 내가 알아서 바꿀게"라고 선언합니다.데이터의 일관성: 화면을 돌리거나 다른 화면에 갔다가 돌아와도 상태만 잘 보존되어 있다면 UI는 항상 올바른 모습을 유지2. StateFlow의 5가지 ..