Flutter-플러터/플러터 공부
Provider context.read와 context watch 의 차이점
일기월장
2023. 6. 27. 22:39
반응형
context.watch<T>(), context.read<T>()
context.watch<T>(), context.read<T>()를 통해 Provider의 데이터를 사용할 수 있다.
이 둘은 비슷하지만 분명한 차이점이 존재한다.
context.watch<T>()는 T의 데이터 값이 변경되었을 때 위젯을 재빌드한다.
반대로, context.read<T>()는 T의 데이터 값이 변경되었을 때 위젯을 재빌드하지 않는다.
context.watch<T>()의 경우, T의 데이터 값을 화면에 보여주는 용도로 사용한다.
context.read<T>()의 경우, T의 데이터 값을 변경하는 등의 이벤트들을 위한 용도로 사용한다.
class Example extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Provider Example'),
),
body: Center(
child: ElevatedButton(
child: Text(
'현재 숫자: ${context.watch<Counter>().count}', // watch 사용.
),
onPressed: () {
context.read<Counter>().increment(); // read 사용.
},
),
),
);
}
}
출처
https://terry1213.github.io/flutter/flutter-provider/#21-contextwatcht-contextreadt
[Flutter] Provider를 통해 상태 관리하기
Flutter를 통해 개발을 진행하다보면 상태(State) 관리가 매우 중요하다는 것을 느낄 수 있다.
terry1213.github.io
반응형