Greita API paieška kasdieniam darbui.

Šis puslapis apibendrina dažniausiai naudojamas klases ir metodus iš miniriverpod_core.dart ir miniriverpod_flutter.dart.

Pagrindiniai tipai

Pagrindinė būsena ir providerių primityvai.

AsyncValue<T>

AsyncLoading / AsyncData / AsyncError

Provider<T>

Sinchroninis provideris su pasirinktiniu autoDispose

AsyncProvider<T>

Asinchroninis provideris su .future selektoriumi

Skaitymo patarimas

AsyncValue neturi when metodo; naudokite switch pattern matching arba is patikras.

Ref ir ProviderContainer metodai

Dažniausiai naudojami metodai atnaujinimui, invalidavimui, gyvavimo ciklui ir mutacijų vykdymui.

Dažna seka

Metodų žemėlapis

read / watch / listen                 : skaityti ir prenumeruoti providerius.
invalidate / refresh / refreshValue    : perskaičiuoti būseną.
onDispose / keepAlive / emit           : gyvavimo ciklo ir srauto susiejimas.
mutation / mutate / invoke             : sekamos rašymo operacijos.
scope / overrideWithValue              : DI ir testavimo perrašymai.

Flutter API apžvalga

Programos kode naudojami ProviderScope ir WidgetRef įėjimo taškai.

// Sritis
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');
  }
}

// Mutacijos vykdymas
await ref.invoke(userProvider.rename('Alice'));
ProviderScope(container: external) reikalauja rankiniu būdu iškviesti container.dispose().
UncontrolledProviderScope niekada nenaikina įterpto container.
Palaikomi Consumer, ConsumerWidget ir ConsumerStatefulWidget.

Kiti žingsniai

Provideriai

Grįžkite prie praktinio Provider, AsyncProvider ir read API naudojimo.

Atidaryti providerius

Mutacijos

Įgyvendinkite aiškias rašymo sekas su konkurencijos kontrole.

Atidaryti mutacijas