Окуу жолдору: watch, read жана listen.
Provider синхрондук абалды берет. AsyncProvider AsyncValue кайтарып, катуу жашоо циклин башкаруу менен Future жана Stream сунуштай алат.
Provider түрлөрү
Provider түрүн маалымат булагына жана жаңыртуу жыштыгына жараша тандаңыз.
Provider<T>
Синхрондук маанилер жана жергиликтүү туунду абал
AsyncProvider<T>
Future/Stream менен башкарылган абал AsyncValue<T> катары
provider.future
Provider<Future<T>> көрсөткөн селектор
Кеңеш
Эгер абал тармактан же streamден келсе, адегенде AsyncProvider тандаңыз. Provider-ди таза синхрондук логика үчүн калтырыңыз.
Окуу API матрицасы
watch-ту build жолдорунда, read-ди бир жолку жетүү үчүн жана 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 ref.emit(stream) аркылуу Future кайтара алат же 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
Жазуу операцияларын provider ыкмаларына жылдырып, аларды ref.invoke аркылуу аткарыңыз.
Mutations ачууFlutter API
Consumer, ConsumerWidget жана ConsumerStatefulWidget ортосунда тандаңыз.
API Reference ачуу