Nopea API-viite päivittäiseen työhön.

Tämä sivu kokoaa yhteen yleisesti käytetyt luokat ja metodit tiedostoista miniriverpod_core.dart ja miniriverpod_flutter.dart.

Ydintyypit

Ydintila ja providerien perusrakenteet.

AsyncValue<T>

AsyncLoading / AsyncData / AsyncError

Provider<T>

Synkroninen provider, jossa autoDispose on valinnainen

AsyncProvider<T>

Asynkroninen provider, jossa .future-valitsin

Lukuvinkki

AsyncValue ei sisällä when-metodia; käytä switch-kuviointia tai is-tarkistuksia.

Ref- ja ProviderContainer-metodit

Yleiset toimintametodit päivitykseen, mitätöintiin, elinkaaren hallintaan ja mutaatioiden suorittamiseen.

Tyypillinen järjestys

Metodikartta

read / watch / listen                 : lue ja tilaa providereita.
invalidate / refresh / refreshValue    : laske tila uudelleen.
onDispose / keepAlive / emit           : elinkaaren hallinta ja streamin kytkentä.
mutation / mutate / invoke             : seuratut kirjoitusoperaatiot.
scope / overrideWithValue              : DI- ja testikorvaukset.

Flutter API -pikakatsaus

ProviderScope- ja WidgetRef-aloituspisteitä käytetään sovelluskoodissa.

// Scope
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 execution
await ref.invoke(userProvider.rename('Alice'));
ProviderScope(container: external) vaatii, että kutsut container.dispose() manuaalisesti.
UncontrolledProviderScope ei koskaan disposea injektoitua containeria.
Consumer, ConsumerWidget ja ConsumerStatefulWidget ovat kaikki tuettuja.

Seuraavat askeleet

Providerit

Palaa käytännön Provider-, AsyncProvider- ja read-rajapintojen pariin.

Avaa Providerit

Mutaatiot

Toteuta eksplisiittiset kirjoituspolut rinnakkaisuuden hallinnalla.

Avaa Mutaatiot