Riverpodi-laadne kasutusmugavus selge käitumisega käitusajal.
miniriverpod hoiab Provideri ja AsyncProvideri tuttavana, kuid kitsendab käitumise selgeteks API-deks: subclass + args perekonnalaadse identiteedi jaoks, mutation tokens uuenduste jaoks ning ennustatav elutsükli puhastamine.
Koodigeneratsioonita
Perekonnalaadsed providerd, ülekatmised ja sõltuvuste süstimine modelleeritakse subclass + args + Scope abil, ilma koodigeneratsioonita.
Ühtne asünkroonne mudel
Üks AsyncProvider käsitleb Future'it ja Streami, rangete katkestustega rebuildi, invalidate'i, refresh'i ja dispose'i ajal.
Sisseehitatud samaaegsus
Mutatsioonikutsed toetavad concurrent, queue, restart ja dropLatest käitumisi läbi ref.invoke(provider.method()).
Soovitatud sissejuhatav töövoog
Paki oma rakendus ProviderScope'iga, defineeri Provider/AsyncProvider klassid ja käivita oleku uuendused läbi ref.invoke'i koos selge samaaegsusega.
Paigaldus
flutter pub add miniriverpod
Mutatsioon + Invoke
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,
);
}
// Kasutajaliides
await ref.invoke(userProvider.rename('Alice'));
Ühilduvuse märkus
miniriverpod hoiab teadlikult Provider + AsyncProvider + WidgetRef lähedust Riverpodile, kuid asendab koodigeneratsioonile tuginevad teed subclass + args, Scope-põhise süstimise ja selgete mutatsioonikutsetega.
Eelmine
Avatud lähtekoodJärgmine
Paigaldus