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ə.

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ə ə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

lib/main.dart
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 codegen-heavy yolları subclass + args, Scope əsaslı injection və açıq mutation çağırışları ilə əvəz edir.

Əvvəlki

Open Source

Növbəti

Quraşdırma