[Flutter] Provider 상태관리

hodu·2023년 4월 3일
0

Flutter

목록 보기
6/30
post-thumbnail

구글에서는 UI와 데이터 처리 로직을 분리하기 위해 BLoC 패턴을 권장하였는데, 사용하기 어렵다는 단점이 있었고, 단순한 로직을 구성하려 해도 최소 4개의 클래스를 만들어야 됐다. 그래서 추가적인 상태관리를 지원하게 되었다.

참고 문서 : https://pub.dev/packages/provider


  • main.dart
Widget build(BuildContext context){
	return MultiProvider(
    providers: [
  			ChangeNotifierProvider<CounterViewModel>(create: (_) => CounterViewModel()),
        ],
        child: HomeView(),
    );
}
  • counterViewModel
class CounterViewModel with ChangeNotifier{
	int _count = 0;
    
    int get count => _count;
    
    void increase(){
    	_count++;
        notifyListeners();
    }
}
  • homeView.dart
// 호출
	CounterViewModel _counter = Provider.of<CounterViewModel>(context, listen: false);

반응형 호출

Consumer<CounterViewModel>(builder:(_, CounterViewModel viewModel, __){
		return Text(viewModel.count);
    }
)
profile
Flutter developer

0개의 댓글