[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()를 통해 상태를 변경할 수 있습니다.

이제 상태 관리를 위한 프로바이더 패턴을 간단히 적용한 예시를 살펴보았습니다. 프로바이더는 복잡한 상태 관리 문제를 해결하는 데 매우 유용한 도구입니다.