روزمرہ کام کے لیے API کا تیز جائزہ۔

یہ صفحہ miniriverpod_core.dart اور miniriverpod_flutter.dart میں استعمال ہونے والی عام کلاسوں اور طریقوں کا خلاصہ پیش کرتا ہے۔

بنیادی اقسام

بنیادی state اور provider primitives۔

AsyncValue<T>

AsyncLoading / AsyncData / AsyncError

Provider<T>

اختیاری autoDispose کے ساتھ ہم وقت provider

AsyncProvider<T>

`.future` selector والا غیر ہم وقت provider

پڑھنے کی ترکیب

AsyncValue میں when method شامل نہیں ہے؛ switch pattern matching یا is checks استعمال کریں۔

Ref اور ProviderContainer کے طریقے

ریفریش، بےاثری، لائف سائیکل، اور mutation کے نفاذ کے لیے عام عملی طریقے۔

عام ترتیب

طریقوں کا نقشہ

read / watch / listen                 : providers کو پڑھیں اور ان پر subscribe کریں.
invalidate / refresh / refreshValue    : state کو دوبارہ حساب کریں.
onDispose / keepAlive / emit           : لائف سائیکل اور stream wiring.
mutation / mutate / invoke             : tracked write operations.
scope / overrideWithValue              : DI اور testing overrides.

Flutter API کا اسنیپ شاٹ

ایپ کے کوڈ میں استعمال ہونے والے ProviderScope + WidgetRef کے داخلاتی مقامات۔

// دائرہ
ProviderScope(
  child: const App(),
);

// ConsumerWidget
class Header extends ConsumerWidget {
  const Header({super.key});

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final user = ref.watch(currentUser);
    return Text('$user');
  }
}

// Mutation کا نفاذ
await ref.invoke(userProvider.rename('Alice'));
ProviderScope(container: external) کے لیے container.dispose() کو دستی طور پر کال کرنا ضروری ہے۔
UncontrolledProviderScope کبھی بھی injected container کو dispose نہیں کرتا۔
Consumer، ConsumerWidget، اور ConsumerStatefulWidget سب معاون ہیں۔

اگلے مراحل

Providers

Provider، AsyncProvider، اور read APIs کے عملی استعمال پر واپس جائیں۔

Providers کھولیں

Mutations

Concurrency control کے ساتھ واضح write flows نافذ کریں۔

Mutations کھولیں