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);
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ç