Referencia de la API

Esta página resume las clases y métodos más usados de miniriverpod_core.dart y miniriverpod_flutter.dart.

Tipos básicos

En lugar de clases family generadas y canales de notificación implícitos, miniriverpod prefiere subclass + args y llamadas explícitas a invoke.

Identidad del provider

runtimeType + args hash

Alternativa a family

Subclase Provider / AsyncProvider y pasa super.args((...))

Fallback de DI

Scope<T>.required + overrideWithValue

Por qué importa

Puedes razonar sobre la igualdad y las sobrescrituras a partir de constructores Dart normales, lo que mantiene la depuración y las pruebas sencillas.

Métodos de Ref y ProviderContainer

Métodos operativos comunes para refresh, invalidación, ciclo de vida y ejecución de mutaciones.

Métodos comunes

Mapa de métodos

read / watch / listen                 : leer y suscribirse a providers.
invalidate / refresh / refreshValue    : recalcular el estado.
onDispose / keepAlive / emit           : ciclo de vida y conexión de streams.
mutation / mutate / invoke             : operaciones de escritura con seguimiento.
scope / overrideWithValue              : DI y sobrescrituras para pruebas.

Resumen de la API de Flutter

Puntos de entrada de ProviderScope y WidgetRef usados en el código de la app.

// Scope
ProviderScope(
  child: const App(),
);

// ConsumerWidget
class Header extends ConsumerWidget {
  const Header({super.key});

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final user = ref.watch(currentUser);
    return Text('$user');
  }
}

// Ejecución de la mutación
await ref.invoke(userProvider.rename('Alice'));
ProviderScope(container: external) requiere llamar manualmente a container.dispose().
UncontrolledProviderScope nunca llama a dispose sobre el contenedor inyectado.
Consumer, ConsumerWidget y ConsumerStatefulWidget son compatibles.

Siguientes pasos

Providers y lecturas

Consulta patrones concretos para watch/read/listen y AsyncProvider.future.

Abrir Providers

Mutaciones

Implementa flujos de escritura explícitos con tokens de mutación, mutate y ref.invoke.

Abrir Mutaciones