پڑھنے کے راستے: watch، read اور listen۔
Provider ہم وقت حالت دیتا ہے۔ AsyncProvider AsyncValue واپس کرتا ہے اور سخت lifecycle handling کے ساتھ Future اور Stream پیش کر سکتا ہے۔
provider کی اقسام
provider type کو data source اور update frequency کے مطابق منتخب کریں۔
Provider<T>
ہم وقت values اور local derived state
AsyncProvider<T>
Future/Stream-driven state بطور AsyncValue<T>
provider.future
selector جو Provider<Future<T>> expose کرتا ہے
مشورہ
اگر state network یا stream سے آتی ہو تو پہلے AsyncProvider کو ترجیح دیں۔ Provider کو خالص ہم وقت منطق کے لیے رکھیں۔
API پڑھنے کا matrix
watch کو build paths میں، read کو ایک بار کے access کے لیے اور listen کو side effects کے لیے استعمال کریں۔
سب سے عام
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 کے ساتھ Future اور Stream
ایک AsyncProvider Future واپس کر سکتا ہے یا ref.emit(stream) کے ذریعے 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);
aglay marahil
Mutations
write operations کو provider methods میں منتقل کریں اور انہیں ref.invoke سے چلائیں۔
Mutations kholenFlutter API
Consumer، ConsumerWidget اور ConsumerStatefulWidget کے درمیان انتخاب کریں۔
API Reference کھولیں