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

lib/main.dart
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