Ҷустуҷӯи зуд барои 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-ро кушоед