월루를 꿈꾸는 대학생
[Flutter]Provider 본문
728x90
setState
- build 메서드를 호출해서 새로 랜더링함
- 하단 전체 위젯을 다 리빌드하기에 비효율적!!
- 동시에 다른 위젯의 state를 업데이트 시키지 못함
Provider
- create 파라미터에서 모델을 받고 이를 하위 child 밑에 위젯들이 참조해서 사용이가능
- 하나의 데이터를 하위 위젯에서 바로 바로 사용이 가능하기 때문에 편리
- 쉽게 위젯이 데이터에 접근이 가능
with ChangeNotifier
- mixin - within -> 상속과 별개로 사용 다트에서 다중상속을 허용하지 않기 때문에 결속력은 약하지만 여러개 붙여서 사용할 수 있도록 사용
- 모델이 변화하면 ChangeNotifier의 notifyListeneres를 통해서 ChangeNotifiter를 Listen하는 모든 위젯에게 변경사항을 알려줄 수 있다
-수동으로 addListener에 콜백 등록해서 사용 가능 다만 자동 dispose되지 않기 때문에 removeListener 사용이 필요
- UI 자동 빌드 불가
ChangeNotifyerProvider
- addListner , removeListener같이 수동으로 생성 삭제 필요없이 ChangeNotifier 생성해서 위젯이 listen하고 자동삭제도 가능
- UI리빌드 가능
- Provider.of 으로 위젯이 쉽게 ChangeNotifier 인스턴스 접근도 가능하게 만들어줌
MultiProvider
- 다중으로 privder 접근할 때 사용
728x90
'Programing > 플러터' 카테고리의 다른 글
[firebase] 파이어베이스 개념 정리 / 세팅 (0) | 2022.12.14 |
---|---|
[flutter] Provider 응용 (영화 앱) (0) | 2022.12.12 |
[flutter] Provider 개념정리 - Count세기 (0) | 2022.12.12 |
MVVM 패턴 (0) | 2022.12.08 |
[Flutter] 디자인 패턴이란? + mvc (0) | 2022.12.06 |