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

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 kod generasiyasına əsaslanan yolları subclass + args, Scope əsaslı inyeksiya və açıq mutation çağırışları ilə əvəz edir.

Əvvəlki

Open Source

Növbəti

Quraşdırma