진지한 개발자

flutter_bloc, Provider, Builder 본문

IT/Flutter

flutter_bloc, Provider, Builder

제이_엔 2023. 2. 2. 12:54
728x90

flutter_bloc

  • BLoC 패턴을 사용하기 위해 정형화된 구조를 사용 함
    • BehaviorSubject 객체 정의
    • 최상위의 BLoC 객체 생성
    • Stream 반환 객체 정의
    • add, delete, update 로직
  • async*, yield : stream 형태로 지속적으로 방출하기 위한 키워드
  • flutter_bloc 객체를 사용하기 위해서 BlocProvider, BlocBuilder 를 사용해야 함

BlocProvider

  • BloC 객체를 제공해 주기 위해 사용하는 클래스
  • create 속성을 사용해 BLoC 을 MaterialApp에 주입, 모든 하위 위젯들이 사용 가능해 짐
  • BlocProvider 로 MaterialApp 을 감싸 인스턴스를 모든 앱 내부에서 사용할 수 있도록 함

BlocBuilder

  • BlocProvider 를 통해 BloC 객체를 주입 받았다면 BlockProvider.of 메서드를 사용해 가져 올 수 있음
  • BlocBuilder 를 통해 Bloc 객체 state 가 업데이트 될 때마다 다시 랜더링 가능 함
  • 지켜볼 BloC 객체를 bloc 속성으로 설정하고 builder 를 사용해 출력할 위젯을 정의 함
  • 만약 새로운 BloC 객체를 하위 위젯에 공유해야 한다면 다시 BlocProvider 로 감싸주면 됨
  • !! ChangeNotifier 를 상속받아 notifyListeners() 상태 변경 사항을 전달

Bloc

  • !! Stream을 만들어주고 sink를 더함으로 상태를 변경
728x90

'IT > Flutter' 카테고리의 다른 글

상태관리 종류  (0) 2023.02.01
BLoC 패턴 (business Logic Component)  (0) 2023.02.01