جستوجوی سریع API برای کار روزمره.
این صفحه کلاسها و متدهای پرکاربرد miniriverpod_core.dart و miniriverpod_flutter.dart را خلاصه میکند.
انواع اصلی
Primitiveهای اصلی state و provider.
AsyncValue<T>
AsyncLoading / AsyncData / AsyncError
Provider<T>
provider همزمان با autoDispose اختیاری
AsyncProvider<T>
provider ناهمزمان با سلکتور .future
نکتهٔ خواندن
AsyncValue متد when را ندارد؛ از pattern matching با switch یا بررسیهای is استفاده کنید.
متدهای Ref و ProviderContainer
متدهای عملی رایج برای تازهسازی، بیاعتبارسازی، چرخهٔ عمر و اجرای mutation.
توالی رایج
نقشهٔ متدها
read / watch / listen : خواندن و اشتراک در providerها.
invalidate / refresh / refreshValue : محاسبهٔ دوبارهٔ وضعیت.
onDispose / keepAlive / emit : چرخهٔ عمر و اتصال به استریم.
mutation / mutate / invoke : عملیات نوشتنِ ردیابیشده.
scope / overrideWithValue : بازنویسیهای DI و تست.
نمای کلی API Flutter
نقاط ورود 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 هرگز container تزریقشده را dispose نمیکند.
Consumer، ConsumerWidget و ConsumerStatefulWidget همگی پشتیبانی میشوند.