개인적으로 공부하면서 공식문서에 대해 증오심이 생길정도였다.......
나만 그런걸수도 있겠지만 문서가 너무 그지같았다.ㅡㅡ
provider로 구현한 counter 코드는 아래와 같다.
import 'package:flutter/material.dart';
class CountProvider with ChangeNotifier {
int _count = 0;
int get count => _count;
void increase() {
_count++;
notifyListeners();
}
void decrease() {
_count--;
notifyListeners();
}
}
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:shw_test/components/button.dart';
import 'package:shw_test/provider/controller.dart';
class ProviderScreen extends StatelessWidget {
const ProviderScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("Counter"),
),
body: Center(
child: Column(
children: [
Text(
context.watch<CountProvider>().count.toString(),
style: const TextStyle(fontSize: 50),
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Button(
text: "+",
fontSize: 30,
onPressed: () {
context.read<CountProvider>().increase();
},
),
const SizedBox(
width: 20,
),
Button(
text: "-",
fontSize: 30,
onPressed: () {
context.read<CountProvider>().decrease();
},
),
],
),
],
),
),
);
}
}
공부하고 사용하고 느낀점은 getx보다는 러닝커브가 있지만 bloc보다는 심플하다가 느낀점이었다.
'개발 > Flutter' 카테고리의 다른 글
[상태관리#5] mobX (0) | 2023.11.22 |
---|---|
[상태관리#4]RiverPod (1) | 2023.11.22 |
[상태관리#2]Bloc (2) | 2023.11.22 |
[상태관리#1] GetX (1) | 2023.11.22 |
[상태관리#0] 상태관리 공부에 앞서.. (0) | 2023.11.21 |