Ergonómia v štýle Riverpodu s explicitným správaním za behu.
miniriverpod zachováva známe Provider a AsyncProvider, ale správanie zúžuje na explicitné API: subclass + args pre identitu podobnú family, mutation tokeny pre aktualizácie a predvídateľné uvoľňovanie životného cyklu.
Bez generovania kódu
Providery podobné family, overrides a dependency injection sú modelované cez subclass + args + Scope bez generovania kódu.
Zjednotený asynchrónny model
Jediný AsyncProvider spracúva Future aj Stream, s prísnym rušením pri rebuild, invalidate, refresh a dispose.
Vstavaná konkurencia
Volania mutation podporujú concurrent, queue, restart a dropLatest cez ref.invoke(provider.method()).
Odporúčaný postup zavedenia
Naučte sa integrovať miniriverpod do Flutter projektu za pár minút.
Inštalácia
flutter pub add miniriverpod
Mutácia + Invoke
import 'package:flutter/widgets.dart';
import 'package:miniriverpod/miniriverpod.dart';
// 1) Wrap your app with ProviderScope
void main() {
runApp(
const ProviderScope(
child: MyApp(),
),
);
}
// 2) Define a Provider
final counterProvider = Provider<int>((ref) => 0);
// 3) Watch from UI
class MyApp extends ConsumerWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context, WidgetRef ref) {
final count = ref.watch(counterProvider);
return Directionality(
textDirection: TextDirection.ltr,
child: Center(child: Text('$count')),
);
}
}
Poznámka o kompatibilite
miniriverpod zámerne zachováva miniriverpod blízko Riverpodu, ale nahrádza cesty závislé od codegenu cez subclass + args, injekciu na báze Scope a explicitné mutation volania.
Predchádzajúce
Open SourceĎalšie
Inštalácia