Szybka referencja API do codziennej pracy.
Ta strona podsumowuje często używane klasy i metody z miniriverpod_core.dart i miniriverpod_flutter.dart.
Typy podstawowe
Podstawowe prymitywy stanu i providerów.
AsyncValue<T>
AsyncLoading / AsyncData / AsyncError
Provider<T>
Synchroniczny provider z opcjonalnym autoDispose
AsyncProvider<T>
Asynchroniczny provider z selektorem .future
Wskazówka
AsyncValue nie zawiera metody when; użyj dopasowania wzorca switch albo sprawdzeń is.
Metody Ref i ProviderContainer
Typowe metody operacyjne do odświeżania, unieważniania, cyklu życia i wykonywania mutacji.
Typowa sekwencja
Mapa metod
read / watch / listen : czytaj i subskrybuj providerów.
invalidate / refresh / refreshValue : przelicz stan ponownie.
onDispose / keepAlive / emit : cykl życia i połączenie ze strumieniem.
mutation / mutate / invoke : śledzone operacje zapisu.
scope / overrideWithValue : DI i nadpisania do testów.
Migawka API Fluttera
Punkty wejścia ProviderScope i WidgetRef używane w kodzie aplikacji.
// Zakres
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');
}
}
// Wykonanie mutacji
await ref.invoke(userProvider.rename('Alice'));
ProviderScope(container: external) wymaga ręcznego wywołania container.dispose().
UncontrolledProviderScope nigdy nie zwalnia wstrzykniętego kontenera.
Consumer, ConsumerWidget i ConsumerStatefulWidget są obsługiwane.