[flutter] 플러터 프로바이더의 예시를 알려주세요.
Flutter 프로바이더 예시
플러터(provier) 패키지는 상태 관리를 위한 강력한 도구로써 많은 개발자들에게 선호되고 있습니다. 이 패키지를 사용하면 전역으로 상태를 관리하고 상태 변화를 감지할 수 있습니다.
아래는 Flutter 프로바이더 패키지를 사용한 간단한 예시입니다.
1. 프로바이더 패키지 추가
먼저, pubspec.yaml
파일에 프로바이더 패키지를 추가해야 합니다.
dependencies:
flutter:
sdk: flutter
provider: ^6.0.0
패키지를 추가한 후에는 flutter pub get
명령어를 사용하여 패키지를 설치해야 합니다.
2. 모델 클래스 작성
프로바이더를 사용하기 위해 모델 클래스를 작성합니다.
class CounterModel extends ChangeNotifier {
int _counter = 0;
int get counter => _counter;
void increment() {
_counter++;
notifyListeners();
}
}
위 코드에서 ChangeNotifier
클래스를 상속받아 상태를 변경할 때 notifyListeners()
메서드를 호출하여 변화를 감지하도록 구현했습니다.
3. 위젯에서 프로바이더 사용
이제 위젯에서 프로바이더를 사용하여 상태를 관리할 수 있습니다.
class CounterWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text('클릭한 횟수:', style: TextStyle(fontSize: 20)),
Consumer<CounterModel>(
builder: (context, counter, child) {
return Text(
'${counter.counter}',
style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold),
);
},
),
ElevatedButton(
onPressed: () {
context.read<CounterModel>().increment();
},
child: Text('증가'),
),
],
),
);
}
}
위 코드에서 Consumer
위젯을 사용하여 상태 변화를 감지하고, context.read<CounterModel>().increment()
를 통해 상태를 변경할 수 있습니다.
이제 상태 관리를 위한 프로바이더 패턴을 간단히 적용한 예시를 살펴보았습니다. 프로바이더는 복잡한 상태 관리 문제를 해결하는 데 매우 유용한 도구입니다.