Référence rapide de l'API pour le quotidien.

Cette page résume les classes et méthodes les plus utilisées de miniriverpod_core.dart et miniriverpod_flutter.dart.

Types de base

État de base et primitives de provider.

AsyncValue<T>

AsyncLoading / AsyncData / AsyncError

Provider<T>

Provider synchrone avec autoDispose facultatif

AsyncProvider<T>

Provider asynchrone avec le sélecteur .future

Astuce de lecture

AsyncValue n'inclut pas de méthode when ; utilisez le pattern matching avec switch ou des tests is.

Méthodes de Ref et de ProviderContainer

Méthodes opérationnelles courantes pour le rafraîchissement, l'invalidation, le cycle de vie et l'exécution des mutations.

Séquence courante

Carte des méthodes

read / watch / listen                 : lire et s'abonner aux providers.
invalidate / refresh / refreshValue    : recalculer l'état.
onDispose / keepAlive / emit           : cycle de vie et câblage des streams.
mutation / mutate / invoke             : opérations d'écriture suivies.
scope / overrideWithValue              : remplacements pour la DI et les tests.

Aperçu de l'API Flutter

ProviderScope et WidgetRef sont les points d'entrée utilisés dans le code applicatif.

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

// Mutation execution
await ref.invoke(userProvider.rename('Alice'));
ProviderScope(container: external) nécessite d'appeler manuellement container.dispose().
UncontrolledProviderScope ne dispose jamais le conteneur injecté.
Consumer, ConsumerWidget et ConsumerStatefulWidget sont tous pris en charge.

Étapes suivantes

Providers

Revenez à l'utilisation pratique de Provider, AsyncProvider et des API read.

Ouvrir les providers

Mutations

Mettez en place des flux d'écriture explicites avec contrôle de la concurrence.

Ouvrir les mutations