728x90
💡 상태는 공유 여부에 따라 로컬 상태(Local State)와 공유 상태(Shared State)로 나눌 수 있다!
Differentiate between ephemeral state and app state
How to tell the difference between ephemeral and app state.
docs.flutter.dev
- 로컬 상태(Local State) : 공유되지 않는 상태
- BottomNavigationBar의 현재 선택한 탭
- 공유 상태(Shared State) : 여러 위젯에서 공유되어 표현되는 상태
- 로그인한 유저 정보
- 특정 게시글의 좋아요 표시
- 쇼핑 앱의 장바구니
💡 공유 상태는 상태가 변경될 경우, 동일한 상태를 보여주기 위해 동기화가 필요
※ 상태 관리 이해하기
💡 공유 상태가 변경될 때, 동기화하는 것을 상태 관리(State Management)라 한다.
💡 상태 관리가 안되면 데이터 일관성을 잃게 된다.
- 유저가 프로필을 변경해도 다른 화면에서 이전 프로필이 보이는 문제
- 쇼핑 바구니에 표시된 상품의 개수와 실제 담긴 상품 개수가 다른 문제
- 글을 작성했는데, 게시판에 반영되지 않는 문제(Create)
- 글을 수정했는데, 게시판에 반영되지 않는 문제(Update)
- 글을 삭제했는데, 게시판에 반영되지 않는 문제(Delete)
💡 동일한 데이터를 여러 곳에서 가지고 있기 때문에, 동기화가 필요하게 된다.
💡 데이터를 한 곳에서 관리하면 동기화 문제가 해결. 따라서 모든 상태 관리 방법들은 공유 상태를 한 곳에서 관리하도록 중앙 집중식으로 만들어 문제를 해결
'Flutter > Dart 언어' 카테고리의 다른 글
[Flutter] MVVM TodoList 만들기 (1) | 2025.02.05 |
---|---|
[Flutter] MVVM 패턴에 대해서 알아 보자 (0) | 2025.02.05 |
[Flutter] 상태란 뭘까? (2) | 2025.01.20 |
Dio 패키지 사용해 보기 (1) | 2025.01.14 |
Dart 비동기 프로그래밍 (3) | 2025.01.14 |