পড়ার পথ: watch, read এবং listen।
Provider sync state দেয়। AsyncProvider AsyncValue ফেরত দেয় এবং কঠোর lifecycle handling সহ Future ও Stream প্রকাশ করতে পারে।
Provider-এর ধরন
data source এবং update frequency অনুযায়ী provider type বেছে নিন।
Provider<T>
সিঙ্ক্রোনাস values এবং local derived state
AsyncProvider<T>
Future/Stream-চালিত state হিসেবে AsyncValue<T>
provider.future
এমন selector যা Provider<Future<T>> expose করে
পরামর্শ
state যদি network বা stream থেকে আসে, আগে AsyncProvider বেছে নিন। Provider-কে pure synchronous logic-এর জন্য রাখুন।
পড়ার API ম্যাট্রিক্স
build paths-এ watch, one-shot access-এর জন্য read, এবং side effects-এর জন্য listen ব্যবহার করুন।
সবচেয়ে সাধারণ
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);
পরবর্তী পদক্ষেপ
Flutter API
Consumer, ConsumerWidget, এবং ConsumerStatefulWidget-এর মধ্যে বেছে নিন।
API রেফারেন্স খুলুন