진지한 개발자

상태관리 종류 본문

IT/Flutter

상태관리 종류

제이_엔 2023. 2. 1. 14:56
728x90

GetX

  • ...

Provider

  • BlockProvider<T extends StateStreamableSource<Object?>>
  • EventStreamProvider<T extends Event>
  • ScrollAwareImageProvider<T extends Object>
  • TickerProviderStateMixin<T extends StatefulWidget>

Bloc<Event, State> 

  • 대규모 상태관리에 적합
    • BlocProvider<T extends StateStreamableSource<Object?>>
    • BlocBase<State>
    • BlocBuilder<B extends StateStreamable<S>, S>
    • BlocConsumer<B extends StateStreamable<S>, S>
    • BlocEventSink<Event extends Object?>
    • BloKistener<B extends StateStreamable<S>, S>
    • BlocSelector<B extends StateStreamable<S>, S>
    • Widget에 함수를 구현하게 되는 경우 context내에 있는 Bloc을 읽어 와서 연결하고자 하는 event를 붙여줌 
      • FloatingActionButton(onPressed: () => context.read<CounterBloc>().add(Increment())),
        • FloatingActionButton : Widget
        • CounterBloc : Bloc
        • Increment : Event
  • 다중 상태 상속 방식
  • 단일 상태 copyWith 방식
  • https://randomuser.me/ 활용한 예제
FloatingActionButton(onPressed: () => context.read<CounterBloc>().add(Increment()), child: const Icon(Icons.add),),
FloatingActionButton(onPressed: () => context.read<CounterBloc>().add(Increment()), child: const Icon(Icons.add),),
FloatingActionButton(onPressed: () => context.read<CounterBloc>().add(Increment()), child: const Icon(Icons.add),),

Riverpod

  • ...

Cubit<State>

728x90

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

flutter_bloc, Provider, Builder  (1) 2023.02.02
BLoC 패턴 (business Logic Component)  (0) 2023.02.01