Brzi pregled API-ja za svakodnevni rad.

Ova stranica sažima često korištene klase i metode iz miniriverpod_core.dart i miniriverpod_flutter.dart.

Core Types

Osnovne primitivne vrijednosti stanja i providera.

AsyncValue<T>

AsyncLoading / AsyncData / AsyncError

Provider<T>

Sinkroni provider s neobaveznim autoDisposeom

AsyncProvider<T>

Asinkroni provider sa selektorom .future

Savjet za čitanje

AsyncValue ne uključuje metodu when; koristite switch podudaranje uzoraka ili is provjere.

Ref i ProviderContainer metode

Uobičajene operativne metode za osvježavanje, poništavanje (invalidation), životni ciklus i izvršavanje mutacija.

Uobičajeni redoslijed

Mapa metoda

read / watch / listen                 : čitanje i pretplata na providere.
invalidate / refresh / refreshValue    : ponovno izračunavanje stanja.
onDispose / keepAlive / emit           : životni ciklus i povezivanje tokova (stream wiring).
mutation / mutate / invoke             : praćene operacije pisanja.
scope / overrideWithValue              : DI (ubrizgavanje ovisnosti) i nadjačavanja za testiranje.

Pregled Flutter API-ja

ProviderScope + WidgetRef ulazne točke koje se koriste u kodu aplikacije.

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

// Izvršavanje mutacije
await ref.invoke(userProvider.rename('Alice'));
ProviderScope(container: external) zahtijeva ručni container.dispose().
UncontrolledProviderScope nikada ne oslobađa ubrizgani container.
Potpuno su podržani Consumer, ConsumerWidget i ConsumerStatefulWidget.

Sljedeći koraci

Provideri

Povratak na praktičnu upotrebu API-ja za Provider, AsyncProvider i read.

Otvori providere

Mutacije

Implementirajte eksplicitne tokove pisanja uz kontrolu istodobnosti (concurrency control).

Otvori mutacije