Utafutaji wa haraka wa API kwa kazi ya kila siku.
Ukurasa huu unafupisha madarasa na mbinu zinazotumika mara nyingi kutoka miniriverpod_core.dart na miniriverpod_flutter.dart.
Aina Msingi
Vizuizi vya msingi vya hali na provider.
AsyncValue<T>
AsyncLoading / AsyncData / AsyncError
Provider<T>
Provider ya kusawazisha yenye autoDispose ya hiari
AsyncProvider<T>
Provider ya asinkroni yenye kiteuzi cha .future
Kidokezo
AsyncValue haijumuishi mbinu ya when; tumia kulinganisha kwa switch au ukaguzi wa is.
Mbinu za Ref na ProviderContainer
Mbinu za kawaida za uendeshaji kwa kuonyesha upya, kubatilisha, mzunguko wa maisha, na utekelezaji wa mutation.
Mlolongo wa kawaida
Ramani ya mbinu
read / watch / listen : soma na ujisajili kwa providers.
invalidate / refresh / refreshValue : hesabu upya hali.
onDispose / keepAlive / emit : mzunguko wa maisha na uunganishaji wa stream.
mutation / mutate / invoke : shughuli za kuandika zinazofuatiliwa.
scope / overrideWithValue : DI na mbadala wa majaribio.
Muhtasari wa API ya Flutter
Vianzio vya ProviderScope + WidgetRef vinavyotumiwa katika msimbo wa programu.
// Scope
ProviderScope(
child: const App(),
);
// Mfano wa ConsumerWidget
class Header extends ConsumerWidget {
const Header({super.key});
@override
Widget build(BuildContext context, WidgetRef ref) {
final user = ref.watch(currentUser);
return Text('$user');
}
}
// Utekelezaji wa mutation
await ref.invoke(userProvider.rename('Alice'));
ProviderScope(container: external) huhitaji container.dispose() ya mikono.
UncontrolledProviderScope haiwahi kuondoa container iliyodungwa.
Consumer, ConsumerWidget, na ConsumerStatefulWidget zote zinaungwa mkono.
Hatua zinazofuata
Providers
Rudi kwa matumizi ya vitendo ya Provider, AsyncProvider, na API za kusoma.
Fungua Providers