[flutter] 플러터 프로바이더 예시
이번에는 Flutter 앱에서 상태 관리를 위해 Provider를 사용하는 간단한 예제를 준비했다. Provider는 Flutter 앱의 상태 관리를 쉽게 처리할 수 있도록 도와주는 패키지다. 이 예제에서는 Provider를 사용하여 사용자 데이터를 관리하고 업데이트하는 방법을 살펴볼 것이다.
의존성 추가
먼저, pubspec.yaml
파일에 provider
패키지를 추가한다.
dependencies:
flutter:
sdk: flutter
provider: ^4.3.2
의존성을 추가한 후, 터미널에서 다음 명령어를 실행하여 패키지를 업데이트한다.
flutter pub get
모델 클래스 생성
다음으로, 사용자 정보를 담당할 모델 클래스를 생성한다. 이 예시에서는 간단하게 사용자의 이름과 이메일 주소만을 포함한 클래스를 만들겠다.
class User {
final String name;
final String email;
User({required this.name, required this.email});
}
Provider 설정
이제 Provider를 설정하여 사용자 데이터를 관리하자. ChangeNotifier
를 상속받은 UserProvider
클래스를 생성하고, 사용자 데이터 상태를 관리한다.
import 'package:flutter/foundation.dart';
class UserProvider extends ChangeNotifier {
User _user = User(name: 'John Doe', email: 'john.doe@example.com');
User get user => _user;
void updateUser(User newUser) {
_user = newUser;
notifyListeners();
}
}
화면 구성
마지막으로, 화면을 구성하여 Provider를 이용해 사용자 데이터를 표시하고 업데이트하는 기능을 구현한다.
Consumer<UserProvider>(
builder: (context, userProvider, child) {
final user = userProvider.user;
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text('이름: ${user.name}'),
Text('이메일: ${user.email}'),
ElevatedButton(
onPressed: () {
userProvider.updateUser(User(name: 'Jane Smith', email: 'jane.smith@example.com'));
},
child: Text('업데이트'),
),
],
);
},
)
결론
이제 Provider를 이용하여 간단한 사용자 데이터 관리 및 업데이트 기능을 구현하는 방법을 살펴보았다. Provider를 사용하면 앱의 상태 관리가 더욱 간편해지며, 복잡한 상태 관리 문제를 해결할 수 있다. 이러한 상태 관리 패턴을 적절히 활용하면 Flutter 앱의 성능과 유지보수성을 향상시킬 수 있다.
이상으로 간단한 Provider 예제를 살펴보았다. 참고로 위 코드는 Flutter 2.x 버전 기준으로 작성되었다.