Þægindi í Riverpod-stíl með skýrri keyrsluhegðun.

miniriverpod heldur Provider og AsyncProvider kunnuglegum, en þrengir hegðunina í skýr API: subclass + args fyrir family-líka auðkenningu, mutation-tokena fyrir uppfærslur og fyrirsjáanlega losun í lífsferli.

Engin sjálfvirk kóðagerð

Family-líkir provider-ar, overrides og dependency injection eru mótuð með subclass + args + Scope, án sjálfvirkrar kóðagerðar.

Samræmt async-líkan

Einn AsyncProvider sér um Future og Stream, með strangri afturköllun við rebuild, invalidate, refresh og dispose.

Innbyggð samhliða keyrsla

Mutation-köll styðja concurrent, queue, restart og dropLatest með ref.invoke(provider.method()).

Ráðlagt innleiðingarflæði

Vefðu forritinu með ProviderScope, skilgreindu Provider/AsyncProvider-klasa og keyrðu stöðuuppfærslur með ref.invoke og skýrri samhliðahegðun.

Setja upp

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,
  );
}

// Viðmót
await ref.invoke(userProvider.rename('Alice'));
Athugasemd um samhæfni

miniriverpod heldur vísvitandi Provider + AsyncProvider + WidgetRef nálægt Riverpod, en skiptir kóðagerðarþungum leiðum út fyrir subclass + args, Scope-byggða innspýtingu og skýr mutation-köll.