Oxu yolları: watch, read və listen.

Provider sinxron vəziyyət verir. AsyncProvider AsyncValue qaytarır və sərt həyat dövrü idarəsi ilə Future və Stream təqdim edə bilər.

Provider tipləri

Provider tipini məlumat mənbəyinə və yenilənmə tezliyinə görə seçin.

Provider<T>

Sinxron dəyərlər və lokal törədilmiş vəziyyət

AsyncProvider<T>

Future/Stream ilə idarə olunan vəziyyət AsyncValue<T> kimi

provider.future

Provider<Future<T>> təqdim edən seçici

İpucu

Vəziyyət şəbəkədən və ya stream-dən gəlirsə, əvvəlcə AsyncProvider seçin. Provider-i saf sinxron məntiq üçün saxlayın.

Oxu API matrisi

watch-u build yollarında, read-i bir dəfəlik giriş üçün və listen-i yan təsirlər üçün istifadə edin.

Ən çox istifadə edilən

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.

AsyncProvider ilə Future və Stream

Tək bir AsyncProvider ref.emit(stream) ilə Future qaytara və ya Stream bağlaya bilər.

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) yenidən qurulma, invalidate və dispose zamanı əvvəlki abunəliyi ləğv edir.
AsyncValue sealed class-dır: AsyncLoading / AsyncData / AsyncError.
switch ilə pattern matching yükləmə/xəta UI-sını açıq saxlayır.

Növbəti Addımlar

Mutations

Yazma əməliyyatlarını provider metodlarına köçürün və ref.invoke ilə icra edin.

Flutter API-ni aç

Flutter API

Consumer, ConsumerWidget və ConsumerStatefulWidget arasında seçim edin.

API istinadını aç