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

Mutations

Tekeleza mtiririko wazi wa kuandika kwa udhibiti wa wakati mmoja.

Fungua Mutations