overrideWithProvider method

ProviderOverride overrideWithProvider(
  1. AutoDisposeBlocProvider<B, S> provider
)

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);
}