Lesleiðir: watch, read og listen.

Provider gefur samstillt state. AsyncProvider skilar AsyncValue og getur birt Future og Stream með ströngu líftímastjórnun.

Gerðir Provider

Veldu gerð provider eftir gagnagjafa og uppfærslutíðni.

Provider<T>

Samstillt gildi og staðbundið afleitt state

AsyncProvider<T>

State knúið af Future/Stream sem AsyncValue<T>

provider.future

Val sem sýnir Provider<Future<T>>

Ábending

Ef state kemur úr neti eða streami, veldu fyrst AsyncProvider. Haltu Provider fyrir hreina samstillta rökfræði.

Les-API tafla

Notaðu watch í build-slóðum, read fyrir einstaka aðgang og listen fyrir aukaverkanir.

Algengast

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 með AsyncProvider

Einn AsyncProvider getur skilað Future eða tengt Stream í gegnum 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) hættir fyrri áskrift þegar rebuild, invalidate og dispose eiga sér stað.
AsyncValue er sealed class: AsyncLoading / AsyncData / AsyncError.
Mynstursamsvörun með switch heldur UI fyrir hleðslu/villu skýru.

Næstu skref

Mutations

Færðu skrifaðgerðir inn í provider-aðferðir og keyrðu þær með ref.invoke.

Opna Flutter API

Flutter API

Veldu á milli Consumer, ConsumerWidget og ConsumerStatefulWidget.

Opna API Reference