חיפוש API מהיר לעבודה יומיומית.
העמוד הזה מסכם את המחלקות והמתודות הנפוצות ביותר מתוך miniriverpod_core.dart ו-miniriverpod_flutter.dart.
טיפוסי ליבה
מצב ליבה ופרימיטיבים של providers.
AsyncValue<T>
AsyncLoading / AsyncData / AsyncError
Provider<T>
provider סינכרוני עם autoDispose אופציונלי
AsyncProvider<T>
provider אסינכרוני עם selector של .future
טיפ לקריאה
ל-AsyncValue אין מתודת when; השתמשו ב-switch pattern matching או בבדיקות is.
מתודות Ref ו-ProviderContainer
מתודות תפעול נפוצות לרענון, ביטול תקפות, מחזור חיים וביצוע mutation.
רצף נפוץ
מפת מתודות
read / watch / listen : קריאה והירשמות ל-providers.
invalidate / refresh / refreshValue : חישוב מחדש של המצב.
onDispose / keepAlive / emit : מחזור חיים וחיבור ל-stream.
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 לעולם לא מבצע dispose ל-container שהוזן אליו.
Consumer, ConsumerWidget ו-ConsumerStatefulWidget נתמכים כולם.