본문 바로가기

Flutter

Cubit 과 RiverPod 는 비슷한 점이 있다?

 

앞 글에서 RiverPod 과 Cubi , BLOC 기초 부분을 만들었습니다.

이제 코드를 비교해 보면 비슷한 부분이 보일 것입니다.

 

 진짜 비슷합니다.  

 

조금 뜯어보면 상당히 유사합니다. 

컨버전을 하는 것도 찾아 볼 수 있습니다. 

 

Riverpod

class CounterNotifier extends StateNotifier<int> {
  CounterNotifier() : super(0);

  void add() {
    state = state + 1;
  }

  void subtract() {
    state = state - 1;
  }
}
 

위 리버팟 아래 큐빗 비교 해보면 비슷하다.

 

Cubit

class CounterCubit extends Cubit<int> {    
  CounterCubit() : super(0);   
  void increase() {
    emit(state + 1);
  }
  void decrease() {
    emit(state - 1);
  }
}
 

 

ref 는 context . read 는 watch 등 .

RiverPod 와 BLoc의 Cubit 간 코드 컨버전이 가능 한 수준으로 보입니다.

 

Riverpod

 onPressed: () => ref.read(counterProvider.notifier).decrease(),
 

Cubit

 onPressed: () => context.read<CounterCubit>().decrease(),
 

Riverpod

final count = ref.watch(counterProvider);
 

Cubit

final counterCubit = BlocProvider.of<CounterCubit>(context);
 
 

능력자 분들은 Riverpod 를 Cubit으로 수정이 가능합니다.

유튭등 찾아보니 진짜 컨버전을 하네요 ..