ផ្លូវអាន: watch, read និង listen។
Provider ផ្តល់ state សមកាលកម្ម។ AsyncProvider ត្រឡប់ AsyncValue និងអាច expose Future និង Stream ដោយមាន lifecycle handling តឹងរឹង។
ប្រភេទ Provider
ជ្រើស type provider តាម source ទិន្នន័យ និង frequency នៃការធ្វើបច្ចុប្បន្នភាព។
Provider<T>
តម្លៃសមកាលកម្ម និង state ដកស្រង់ក្នុងតំបន់
AsyncProvider<T>
state ដែលបើកដំណើរការដោយ Future/Stream ជា AsyncValue<T>
provider.future
selector ដែលបង្ហាញ Provider<Future<T>>
ជំនួយ
ប្រសិនបើ state មកពី network ឬ stream សូមជ្រើស AsyncProvider មុន។ ទុក Provider សម្រាប់ logic សមកាលកម្មសុទ្ធ។
តារាង API អាន
ប្រើ watch ក្នុង build paths, read សម្រាប់ one-shot 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.
Future និង Stream ជាមួយ AsyncProvider
AsyncProvider មួយអាចត្រឡប់ Future ឬភ្ជាប់ Stream តាមរយៈ ref.emit(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);
ជំហានបន្ទាប់
Mutations
ផ្ទេរប្រតិបត្តិការ write ទៅក្នុង provider methods ហើយដំណើរការវាតាម ref.invoke។
បើក Mutations