Įdiekite miniriverpod per kelias minutes.
Nustatykite SDK apribojimus, pridėkite paketą ir patikrinkite, ar ProviderScope bei WidgetRef.watch veikia tinkamai.
Be kodo generavimo
šeimos tipo provider'iai, perrašymai ir priklausomybių injekcija modeliuojami naudojant subclass + args + Scope, be kodo generavimo.
Vieningas asinchroninis modelis
Vienas AsyncProvider apdoroja Future ir Stream, su griežtu atšaukimu persikrovimo, invalidate, refresh ir dispose metu.
Integruotas lygiagretumas
Mutacijų iškvietimai palaiko concurrent, queue, restart ir dropLatest per ref.invoke(provider.method()).
Rekomenduojamas įvadinis kelias
Apgaubkite programą ProviderScope, apibrėžkite Provider/AsyncProvider klases ir atnaujinkite būseną per ref.invoke su aiškiu lygiagretumo valdymu.
Diegimas
flutter pub add miniriverpod
Mutacija + iškvietimas
class UserProvider extends AsyncProvider<User?> {
UserProvider() : super.args(null);
late final renameMut = mutation<void>(#rename);
Call<void, AsyncValue<User?>> rename(String name) => mutate(
renameMut,
(ref) async {
final api = ref.watch(apiProvider);
await api.rename(name);
ref.state = AsyncData(await api.me());
},
concurrency: Concurrency.restart,
);
}
// Vartotojo sąsaja
await ref.invoke(userProvider.rename('Alice'));
Suderinamumo pastaba
miniriverpod sąmoningai išlaiko Provider + AsyncProvider + WidgetRef artumą Riverpod, bet codegen intensyvias vietas pakeičia subclass + args, Scope pagrindu vykdoma injekcija ir aiškūs mutacijų iškvietimai.
Ankstesnis
Atvirasis kodasKitas
Diegimas