Installa miniriverpod in pochi minuti.

Imposta i vincoli SDK, aggiungi il pacchetto e verifica che ProviderScope + WidgetRef.watch siano collegati correttamente.

Requisiti

Usa gli stessi vincoli del pacchetto per evitare discrepanze tra analyzer e runtime.

Dart SDK

>=3.10.0 <4.0.0

Flutter

Suggerimento

Se la tua app è bloccata a una versione inferiore a Dart 3.10, alza prima i vincoli SDK e poi esegui flutter pub get.

Installazione

Preferisci l'installazione via CLI e poi mantieni la versione allineata al changelog del pacchetto.

CLI

pubspec.yaml

# Aggiungi alle dipendenze
dependencies:
  miniriverpod: ^0.0.2

Primi passi

Avvolgi la tua app in ProviderScope, definisci un Provider e renderizza lo stato da 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) => ...) per valori sincroni.
Usa AsyncProvider<T>((ref) async => ...) per Future e ref.emit(stream) per Stream.
Passa a ref.invoke(provider.method()) quando implementi mutazioni.

Prossimi passi

Concetti base

Comprendi l'identità dei provider basata sugli argomenti, l'iniezione Scope e le scelte di design senza codegen.

Apri i concetti base

Providers e letture

Impara il comportamento di watch/read/listen e i pattern di refresh di AsyncProvider.

Apri Providers

Riferimento API

Trova rapidamente metodi come invalidate, refreshValue, keepAlive e invoke.

Apri il riferimento API