Ricerca rapida delle API per il lavoro quotidiano.
Questa pagina riepiloga le classi e i metodi più usati di miniriverpod_core.dart e miniriverpod_flutter.dart.
Tipi di base
Stato di base e primitive dei provider.
AsyncValue<T>
AsyncLoading / AsyncData / AsyncError
Provider<T>
Provider sincrono con autoDispose facoltativo
AsyncProvider<T>
Provider asincrono con selettore .future
Suggerimento di lettura
AsyncValue non include un metodo when; usa il pattern matching con switch o i controlli is.
Metodi di Ref e ProviderContainer
Metodi operativi comuni per aggiornare, invalidare, gestire il ciclo di vita ed eseguire mutazioni.
Sequenza comune
Mappa dei metodi
read / watch / listen : leggi e sottoscrivi i provider.
invalidate / refresh / refreshValue : ricalcola lo stato.
onDispose / keepAlive / emit : ciclo di vita e collegamento agli stream.
mutation / mutate / invoke : operazioni di scrittura tracciate.
scope / overrideWithValue : override per DI e test.
Riepilogo dell'API Flutter
ProviderScope e WidgetRef sono i punti di ingresso usati nel codice dell'app.
// Ambito
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');
}
}
// Esecuzione della mutazione
await ref.invoke(userProvider.rename('Alice'));
ProviderScope(container: external) richiede di chiamare manualmente container.dispose().
UncontrolledProviderScope non dispone mai il container iniettato.
Consumer, ConsumerWidget e ConsumerStatefulWidget sono tutti supportati.
Prossimi passi
Mutazioni
Implementa flussi di scrittura espliciti con controllo della concorrenza.
Apri le mutazioni