Læseveje: watch, read og listen.

Provider giver synkron tilstand. AsyncProvider returnerer AsyncValue og kan eksponere Future og Stream med streng lifecycle-håndtering.

Providertyper

Vælg providertype efter datakilde og opdateringsfrekvens.

Provider<T>

Synkrone værdier og lokalt afledt tilstand

AsyncProvider<T>

Future-/Stream-drevet tilstand som AsyncValue<T>

provider.future

Selektor, der eksponerer Provider<Future<T>>

Råd

Hvis tilstanden kommer fra netværk eller stream, så vælg først AsyncProvider. Behold Provider til ren synkron logik.

Læs API-matrix

Brug watch i build-veje, read til engangsadgang og listen til sideeffekter.

Mest almindeligt

watch / read / listen

ref.watch(provider)  : subscribe and rebuild when value changes.
ref.read(provider)   : read current snapshot without subscribing.
container.listen(...) : callback-driven updates; optional fireImmediately.

Future og Stream med AsyncProvider

En enkelt AsyncProvider kan returnere en Future eller binde en Stream via ref.emit(stream).

final currentUser = AsyncProvider<User>((ref) async {
  final api = ref.watch(apiProvider);
  return api.me();
});

final liveUser = AsyncProvider<User>((ref) {
  final stream = ref.watch(apiProvider).live();
  ref.emit(stream);
  return const User(name: 'Loading...');
}, autoDispose: true, autoDisposeDelay: const Duration(milliseconds: 250));

// Await as Future
final user = await ref.watch(currentUser.future);
ref.emit(stream) annullerer det forrige abonnement ved genindlæsning, invalidate og dispose.
AsyncValue er en sealed class: AsyncLoading / AsyncData / AsyncError.
Mønstermatchning med switch holder loading-/fejl-UI eksplicit.

Næste skridt

Mutations

Flyt skriveoperationer ind i provider-metoder, og kør dem via ref.invoke.

Åbn Mutations

Flutter API

Vælg mellem Consumer, ConsumerWidget og ConsumerStatefulWidget.

Åbn API Reference