요약 (한 줄): Riverpod에서 상태를 읽고 구독하고 갱신하는 올바른 패턴과 성능 최적화(선택적 구독/부수효과 처리)를 정리한 블로그 포스트.들어가며Flutter + Riverpod으로 앱을 작성할 때 ref.watch, ref.read, ref.read(...notifier), ref.listen, select를 적절히 쓰면 성능과 유지보수성이 좋아집니다. 아래는 실무 중심의 요점 정리와 p_search.dart 적용 예시입니다.1. 기본 개념 정리ref.watch(provider) UI에서 사용. provider 값이 바뀌면 위젯이 재빌드됨(reactive). 예: final searchState = ref.watch(searchNotifierProvider);ref.read(provider..