Riverpod-lík notendaupplifun með skýrri keyrsluhegðun.

miniriverpod heldur Provider og AsyncProvider kunnuglegum, en þrengir hegðunina niður í skýr API: undirflokkur + args fyrir family-líka auðkenningu, mutation-tákn fyrir uppfærslur og fyrirsjáanlega líftímaslökkvun.

Engin kóðagenerering

family-líkir providers, overrides og dependency injection eru mótuð með undirflokki + args + Scope, án codegen.

Sameinað async-líkan

Einn AsyncProvider meðhöndlar Future og Stream, með ströngu afnámi við rebuild, invalidate, refresh og dispose.

Built-in Concurrency

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

Leiðbeinandi inngangur

Vefjið forritið inn í ProviderScope, skilgreinið Provider/AsyncProvider klasa og keyrið stöðuuppfærslur í gegnum ref.invoke með skýrum samhliða reglum.

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

// UI
await ref.invoke(userProvider.rename('Alice'));
Compatibility Note

miniriverpod heldur Provider + AsyncProvider + WidgetRef viljandi nálægt Riverpod, en skiptir út codegen-þungum leiðum fyrir undirflokk + args, Scope-byggða injection og skýr mutation-köll.