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

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'));
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.