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.