miniriverpod'ni bir necha daqiqada o'rnating.

SDK cheklovlarini sozlang, paketni qo'shing va ProviderScope + WidgetRef.watch to'g'ri ulangani tekshiring.

Talablar

Analyzer va runtime mos kelmasligini oldini olish uchun paketdagi kabi cheklovlardan foydalaning.

Dart SDK

>=3.10.0 <4.0.0

Flutter

Maslahat

Agar ilovangiz Dart 3.10 dan pastga qotirilgan bo'lsa, avval SDK cheklovlarini oshiring, so'ng flutter pub get ni ishga tushiring.

O'rnatish

CLI orqali o'rnatishni afzal ko'ring, so'ng versiyani paket changelog'iga mos holda saqlang.

CLI

pubspec.yaml

# dependencies'ga qo'shing
dependencies:
  miniriverpod: ^0.0.2

Birinchi qadamlar

Ilovangizni ProviderScope ichiga o'rang, Provider aniqlang va holatni ConsumerWidget'dan chiqarib bering.

// 1) Ilovangizni ProviderScope bilan o'rang
void main() {
  runApp(const ProviderScope(child: MyApp()));
}

// 2) Provider aniqlang
final counterProvider = Provider<int>((ref) => 0);

// 3) UI'dan kuzating
class MyApp extends ConsumerWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final count = ref.watch(counterProvider);
    return Directionality(
      textDirection: TextDirection.ltr,
      child: Center(child: Text('$count')),
    );
  }
}
Sinxron qiymatlar uchun Provider((ref) => ...) dan foydalaning.
Future uchun AsyncProvider<T>((ref) async => ...) dan va Stream uchun ref.emit(stream) dan foydalaning.
Mutatsiyalarni amalga oshirganingizda ref.invoke(provider.method()) ga o'ting.

Keyingi qadamlar

Asosiy tushunchalar

args asosidagi provider identifikatsiyasi, Scope injection va codegen'siz dizayn tanlovlarini tushuning.

Asosiy tushunchalarni ochish

Providerlar va o'qishlar

watch/read/listen xatti-harakati va AsyncProvider yangilash uslublarini o'rganing.

Providerlarni ochish

API ma'lumotnomasi

invalidate, refreshValue, keepAlive va invoke kabi metodlarni tezda toping.

API ma'lumotnomasini ochish