Açıq runtime davranışı ilə Riverpod üslublu ergonomika.
miniriverpod Provider və AsyncProvider-i tanış saxlayır, amma davranışı açıq API-lərə daraldır: family-yə bənzər identiklik üçün subclass + args, yeniləmələr üçün mutation token-ləri və proqnozlaşdırılan həyat dövrü disposal-u.
Code generation yoxdur
family-yə bənzər provider-lar, override-lər və dependency injection subclass + args + Scope ilə, code generation olmadan modellənir.
Birləşmiş Async model
Tək AsyncProvider Future və Stream-i idarə edir, rebuild, invalidate, refresh və dispose zamanı ciddi ləğvetmə ilə.
Daxili 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ə əhatələyin, Provider/AsyncProvider siniflərini müəyyən edin və state yeniləmələrini açıq concurrency ilə ref.invoke vasitəsilə işlədin.
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 codegen-heavy yolları subclass + args, Scope əsaslı injection və açıq mutation çağırışları ilə əvəz edir.
Əvvəlki
Açıq MənbəNövbəti
Quraşdırma