Dart & Flutter

[Flutter] context watch, read, select의 차이

ju_young 2023. 2. 23. 23:19
728x90

watch

context.watch<T>() 에서 T가 변할 때마다 값을 받는다. 예를 들어서 버튼을 누를때마다 화면에 나오는 숫자가 변해야한다면 watch를 사용한다.

read

context.read<T>() 에서 T가 watch에서처럼 변할 때마다 값을 받지 않는다. 예를 들어서 버튼을 누를때 발생하는 이벤트(함수)를 사용하기위해 사용한다.

select

watch에서 T가 변할때마다 값을 받았다면 select는 T 안의 어떤 특정 부분이 변할때마다 값을 받는 것이다. 예를 들어서 T에 status(loading, success, failure)가 있다고 하고 context.select((boc) => bloc.state.status) 처럼 status가 변할때마다 값을 받을 수 있다.

728x90