Riverpod-ähnliche Ergonomie mit explizitem Laufzeitverhalten.
miniriverpod hält Provider und AsyncProvider vertraut, schränkt das Verhalten aber auf explizite APIs ein: subclass + args für familienähnliche Identität, Mutationstokens für Aktualisierungen und vorhersehbares Aufräumen des Lebenszyklus.
Keine Codegenerierung
Familienähnliche Provider, Overrides und Dependency Injection werden mit subclass + args + Scope modelliert, ganz ohne Codegenerierung.
Einheitliches Async-Modell
Ein einzelner AsyncProvider behandelt Future und Stream mit striktem Abbruch bei Rebuild, Invalidate, Refresh und Dispose.
Integrierte Nebenläufigkeit
Mutationsaufrufe unterstützen concurrent, queue, restart und dropLatest über ref.invoke(provider.method()).
Empfohlener Einstiegspfad
Wickeln Sie Ihre App mit ProviderScope ein, definieren Sie Provider/AsyncProvider-Klassen und führen Sie Statusaktualisierungen über ref.invoke mit expliziter Nebenläufigkeit aus.
Installieren
flutter pub add miniriverpod
Mutation + Invoke
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,
);
}
// Benutzeroberfläche
await ref.invoke(userProvider.rename('Alice'));
Kompatibilitätshinweis
miniriverpod bleibt bewusst Provider + AsyncProvider + WidgetRef nah an Riverpod, ersetzt aber codegen-lastige Pfade durch subclass + args, Scope-basierte Injektion und explizite Mutationsaufrufe.
Zurück
Open SourceWeiter
Installation