일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- R2DBC Paging
- Ingress Controller Fake
- 오블완
- UnsupportedOperationException
- pinpoint
- jar 배포
- 노드간 통신
- 티스토리챌린지
- 7879
- pinpoint 2.5.3
- jsonMarshaller
- OIDC
- Loki 로그
- hbase 저장공간 설정
- 애자일 싫타
- reids
- LPOS
- 논블록킹 성능
- 개발 어렵당.ㅠ
- Armeria
- ㅉ때
- RedirectService
- 핀포인트
- fake jwt
- 월급루팡 일지
- 플루터
- nGinder
- intellij
- formik
- save/update
- Today
- Total
대머리개발자
Flutter 상태관리 본문
화면에 그려지는 데이터를 잘 관리하기 위해서 상태관리를 해야 한다. (액션과 상태 분리해야 한다고 한다...)
Flutter에서는 몇 가지 인기 있는 라이브러리가 존재한다.
(https://engineering.linecorp.com/ko/blog/flutter-architecture-getx-bloc-provider)
Flutter 인기 아키텍처 라이브러리 3종 비교 분석 - GetX vs BLoC vs Provider
안녕하세요. LINE+ ABC Studio에서 앱을 개발하고 있는 윤기영입니다. 최근 Flutter로 진행하는 새로운 앱 개발 업무를 맡아서 어떤 아키텍처 라이브러리를 사용할지 선정하는 작업을 진행했습니다.
engineering.linecorp.com
일단 Provider 로 테스트 진행하려고 하는데.. Provider 단점도 보완해서 나온 lib가 있다고 한다.
전역에서 관리하는 친구로 리액트로 따지면 "리덕스"라고 보면 된다.
[good luck] 버튼을 통해서 로또의 숫자를 생성하면.. 폼에 있는 seed, from, to 내용이 증발해 버린다.
해결책은 단순하다.
StatelessWidget -> StatefulWidget
상태관리를 해주는 위젯으로 변경하면 된다.
물론 내용 증발해도 상관없는 경우는 그냥 사용해도 되지만
"데이터"만 변경되는 부분은 상태 관리를 해줄수 있는 위젯으로 변경해야 한다.
참고)
StatelessWidget는 TextEditingController를 이용하면 했다. But 내용 증발!
StatefulWidget을 상속받아서 setState(..)를 이용한다. = 리액트 같다.ㅋ
계속 이야기 하지만 리액트와 무진장 동일하다.
시작점에 Provider 감싸주면 된다.
void main() {
runApp(
MultiProvider(
providers: [
ChangeNotifierProvider(create: (_) => LottoProvider()),
],
child: MyApp(),
),
);
}
그리고 사용하고자하는 페이지에서 역시 감싸주면 된다.
[good luck]이란 버튼에
OutlinedButton(
onPressed: () {
context.read<LottoProvider>().suggestionLotto(_seed, _from, _to);
}
..
'개발이야기 > 플러터' 카테고리의 다른 글
앱 푸시 - FCM (0) | 2024.11.27 |
---|---|
flutter 로또 어플 마무의리..(?) (0) | 2023.06.27 |
Flutter - 컴포넌트(2) (2) | 2023.06.07 |
Flutter - 컴포넌트 (0) | 2023.05.31 |
Flutter - Error: Not a constant expression. (0) | 2023.05.30 |