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ə.
Daxili Paralellik
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'));
Uyğunluq Qeydi
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
Açıq MənbəNövbəti
Quraşdırma