Hurtig API-reference til dagligt arbejde.

Denne side sammenfatter de mest brugte klasser og metoder fra miniriverpod_core.dart og miniriverpod_flutter.dart.

Kernetyper

I stedet for genererede family-klasser og implicitte notifier-kanaler foretrækker miniriverpod subclass + args og eksplicit invoke.

Provider-identitet

runtimeType + args hash

Alternativ til family

Subklassér Provider / AsyncProvider, og brug super.args((...)).

DI-fallback

Scope<T>.required + overrideWithValue

Hvorfor det betyder noget

Du kan ræsonnere om lighed og overrides ud fra almindelige Dart-konstruktører, hvilket gør fejlsøgning og tests ligetil.

Ref- og ProviderContainer-metoder

Almindelige driftsmetoder til refresh, invalidering, livscyklus og eksekvering af mutationer.

Typiske kald

Metodeoversigt

read / watch / listen                 : læs og abonner på providers.
invalidate / refresh / refreshValue    : genberegn tilstanden.
onDispose / keepAlive / emit           : livscyklus og Stream-tilkobling.
mutation / mutate / invoke             : sporede skriveoperationer.
scope / overrideWithValue              : DI og test-overrides.

Flutter API-oversigt

Indgangspunkterne ProviderScope og WidgetRef, som bruges i app-kode.

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

// Eksekvering af mutation
await ref.invoke(userProvider.rename('Alice'));
ProviderScope(container: external) kræver, at du manuelt kalder container.dispose().
UncontrolledProviderScope kalder aldrig dispose på den injicerede container.
Consumer, ConsumerWidget og ConsumerStatefulWidget understøttes alle.

Næste skridt

Provider og AsyncProvider

Se konkrete mønstre for watch/read/listen og AsyncProvider.future.

Åbn Providers

Mutationer

Implementer eksplicitte skriveflows med kontrol af samtidighed.

Åbn Mutationer