Aydın iş vaxtı davranışı ilə Riverpod tərzli rahatlıq.
miniriverpod Provider və AsyncProvider ilə tanış qalır, amma davranışı açıq API-lərə daraldır: family tipli identiklik üçün subclass + args, yeniləmələr üçün mutation tokenləri və proqnozlaşdırıla bilən həyat dövrü dispose-u.
Kod Generasiyası Yoxdur
Ailə tipli providerlər, override-lər və asılılıq inyeksiyası subclass + args + Scope ilə modelləşdirilir, kod generasiyası olmadan.
Birləşdirilmiş Asinxron Model
Tək bir AsyncProvider Future və Stream-i idarə edir, rebuild, invalidate, refresh və dispose zamanı sərt ləğv etmə ilə.
Built-in Concurrency
Mutation çağırışları ref.invoke(provider.method()) vasitəsilə concurrent, queue, restart və dropLatest rejimlərini dəstəkləyir.
Tövsiyə olunan Başlanğıc Axını
Tətbiqinizi ProviderScope ilə sarın, Provider/AsyncProvider siniflərini təyin edin və ref.invoke ilə açıq paralelliklə vəziyyət yeniləmələrini icra edin.
Quraşdırma
flutter pub add miniriverpod
Mutation + 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,
);
}
// UI
await ref.invoke(userProvider.rename('Alice'));
Compatibility Note
miniriverpod qəsdən Provider + AsyncProvider + WidgetRef Riverpod-a yaxın qalır, amma kod generasiyasına əsaslanan yolları subclass + args, Scope əsaslı inyeksiya və açıq mutation çağırışları ilə əvəz edir.
Əvvəlki
Open SourceNövbəti
Quraşdırma