חיפוש 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 נתמכים כולם.

השלבים הבאים

Providers

חזרו לשימוש המעשי ב-Provider, AsyncProvider ו-API של read.

פתיחת Providers

Mutations

ממשו זרימות כתיבה מפורשות עם שליטה על מקביליות.

פתיחת Mutations