Ҷустуҷӯи зуд барои API дар кори ҳаррӯза.

Ин саҳифа синфҳо ва усулҳои маъмултаринро аз miniriverpod_core.dart ва miniriverpod_flutter.dart ҷамъбаст мекунад.

Навъҳои асосӣ

Асосҳои ҳолат ва provider.

AsyncValue<T>

AsyncLoading / AsyncData / AsyncError

Provider<T>

Provider-и синхронӣ бо autoDispose-и ихтиёрӣ

AsyncProvider<T>

Provider-и асинхронӣ бо селектори .future

Маслиҳат

AsyncValue методи when надорад; ба ҷои он switch pattern matching ё санҷишҳои `is`-ро истифода баред.

Усулҳои Ref ва ProviderContainer

Усулҳои маъмули амалиётӣ барои навсозӣ, бекоркунӣ, давраи ҳаёт ва иҷрои mutation.

Пайдарпаии маъмул

Ҷадвали усулҳо

read / watch / listen                 : providerҳоро хонед ва обуна шавед.
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 ҳеҷ гоҳ container-и воридшударо dispose намекунад.
Consumer, ConsumerWidget ва ConsumerStatefulWidget пурра дастгирӣ мешаванд.

Қадамҳои баъдӣ

Providerҳо

Ба истифодаи амалии Provider, AsyncProvider ва API-ҳои хондан баргардед.

Providers-ро кушоед

Mutationҳо

Ҷараёнҳои возеҳи навиштанро бо назорати ҳамзамонӣ татбиқ кунед.

Mutations-ро кушоед