overrideWithProvider method
BlocProvider.overrideWithProvider
With pure dart:
final counterProvider = BlocProvider((ref) => CounterCubit(0));
final counterCubit = CounterCubit(3);
final counterProvider2 = BlocProvider((ref) => counterCubit);
final container = ProviderContainer(
overrides: [
counterProvider.overrideWithProvider(counterProvider2),
],
);
// reads `counterProvider2` and returns `counterCubit`
container.read(counterProvider.notifier);
// reads the `counterProvider2` `state` and returns `3`
container.read(counterProvider);
With Flutter:
final counterProvider = BlocProvider((ref) => CounterCubit(0));
final counterCubit = CounterCubit(3);
final counterProvider2 = BlocProvider((ref) => counterCubit);
ProviderScope(
overrides: [
counterProvider.overrideWithProvider(counterProvider2),
],
child: Consumer(
builder: (context, watch, _) {
final countCubit = watch(counterProvider.notifier);
return Container();
},
),
);
Implementation
ProviderOverride overrideWithProvider(
AutoDisposeBlocProvider<B, S> provider,
) {
return ProviderOverride(provider.notifier, notifier);
}