Provider 패키지
Flutter의 provider 패키지는 상태 관리를 쉽고 효과적으로 수행할 수 있도록 도와주는 인기 있는 패키지입니다. 상태 관리는 Flutter 앱 내에서 데이터 흐름과 위젯 간의 상호작용을 쉽게 만드는 중요한 측면입니다.
provider 패키지를 이해하려면, 먼저 기본 컨셉을 알아야 합니다
1. Provider: 상태를 보유하고, 필요한 위젯에 그 상태를 제공하는 객체입니다.
2. Consumer: Provider에서 제공된 상태를 사용하려는 위젯. Provider로부터 제공받은 데이터에 따라 위젯을 다시 빌드합니다.
주요 특징 및 컨셉
1. 데이터 제공: provider는 상위 위젯에서 하위 위젯으로 데이터를 쉽게 전달할 수 있게 합니다. 이것은 Flutter의 InheritedWidget을 기반으로 합니다.
2. 리스닝: Consumer 위젯 또는 Provider.of 메서드를 사용하여 데이터를 수신하면 해당 데이터가 변경될 때마다 위젯이 자동으로 다시 빌드됩니다.
3. 종류별 Provider: provider 패키지는 다양한 종류의 프로바이더를 제공합니다. 예를 들면, ChangeNotifierProvider, ValueListenableProvider, StreamProvider 등이 있습니다.
간단한 사용 방법
1. Provider 생성: ChangeNotifier를 사용하여 상태를 만듭니다.
class CounterModel with ChangeNotifier {
int _count = 0;
int get count => _count;
void increment() {
_count++;
notifyListeners();
}
}
2. Provider 래핑: 앱의 상위 부분에서 ChangeNotifierProvider를 사용하여 위젯 트리를 래핑합니다.
ChangeNotifierProvider(
create: (context) => CounterModel(),
child: MyApp(),
)
3. 상태 사용: Consumer 위젯 또는 context.read, context.watch를 사용하여 상태에 접근하고 데이터를 사용하거나 수정합니다.
Consumer<CounterModel>(
builder: (context, counter, child) {
return Text('${counter.count}');
},
)
또는
final counter = context.watch<CounterModel>();
결론
provider 패키지는 Flutter 앱에서 상태 관리를 단순화하고 구조화하는 데 큰 도움을 줍니다. 다양한 상황에 따라 다양한 프로바이더 타입을 제공하여 유연성을 제공하며, 코드 재사용성과 유지 관리성을 향상시키는 데 도움을 줍니다.
Provider 패키지 설치
1. View - Terminal을 선택해주세요
2. 아래 명령어를 복사해서 터미널에 붙여넣고 실행해 주세요.
flutter pub add provider
3. pubspec.yaml을 열어서 provider가 있으면 설치가 잘 되신 겁니다.
'Flutter' 카테고리의 다른 글
[Xcode] Cycle inside Runner; building could produce unreliable results.Cycle details: (0) | 2023.09.22 |
---|---|
[Flutter] Home screen widgets (0) | 2023.09.15 |
[Flutter] 앱 로딩화면 구현 flutter_native_splash (0) | 2023.09.08 |
StatelessWidget/StatefulWidget (0) | 2023.09.05 |