කියවීමේ මාර්ග: watch, read සහ listen.

Provider සමකාලීන තත්වය ලබා දෙයි. 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

Provider<Future<T>> expose කරන selector

ඉඟිය

state network හෝ stream එකකින් එන්නේ නම්, මුලින් AsyncProvider තෝරන්න. Provider එක pure synchronous logic සඳහා තබාගන්න.

කියවීමේ API matrix

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);
ref.emit(stream) rebuild, invalidate සහ dispose වෙලාවේ පෙර subscription අවලංගු කරයි.
AsyncValue එක sealed class එකකි: AsyncLoading / AsyncData / AsyncError.
switch සමඟ pattern matching loading/error UI පැහැදිලිව තබයි.

ඊළඟ පියවර

Mutations

write operations provider methods වෙත ගෙන යාමෙන් ref.invoke මඟින් ක්‍රියාත්මක කරන්න.

Flutter API විවෘත කරන්න

Flutter API

Consumer, ConsumerWidget, සහ ConsumerStatefulWidget අතර තෝරන්න.

API Reference විවෘත කරන්න