Instala miniriverpod en minutos.

Establece las restricciones del SDK, añade el paquete y confirma que ProviderScope + WidgetRef.watch están conectados correctamente.

Requisitos

Usa las mismas restricciones que el paquete para evitar discrepancias entre el analizador y el tiempo de ejecución.

Dart SDK

>=3.10.0 <4.0.0

Flutter

Consejo

Si tu aplicación está fijada por debajo de Dart 3.10, aumenta primero las restricciones del SDK y luego ejecuta flutter pub get.

Instalación

Prefiere la instalación por CLI y luego mantén la versión alineada con el changelog del paquete.

CLI

pubspec.yaml

# Añadir a las dependencias
dependencies:
  miniriverpod: ^0.0.2

Primeros pasos

Envuelve tu aplicación en ProviderScope, define un Provider y renderiza el estado desde ConsumerWidget.

import 'package:flutter/widgets.dart';
import 'package:miniriverpod/miniriverpod.dart';

final counterProvider = Provider<int>((ref) => 0);

void main() {
  runApp(const ProviderScope(child: CounterApp()));
}

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

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final count = ref.watch(counterProvider);
    return Directionality(
      textDirection: TextDirection.ltr,
      child: Center(child: Text('$count')),
    );
  }
}
Usa Provider((ref) => ...) para valores síncronos.
Usa AsyncProvider<T>((ref) async => ...) para Future y ref.emit(stream) para Stream.
Cambia a ref.invoke(provider.method()) cuando implementes mutaciones.

Siguientes pasos

Conceptos básicos

Entiende la identidad de los providers basada en argumentos, la inyección Scope y las decisiones de diseño sin codegen.

Abrir conceptos básicos

Providers y lecturas

Aprende el comportamiento de watch/read/listen y los patrones de actualización de AsyncProvider.

Abrir providers

Referencia de API

Encuentra rápidamente métodos como invalidate, refreshValue, keepAlive e invoke.

Abrir referencia de API