Легковесное управление состоянием для Flutter.
Сила реактивной архитектуры Riverpod без сложной генерации кода и тяжелых зависимостей.
Без codegen
Пишите обычные классы и провайдеры Dart. build_runner не нужен.
Легковесность
Менее 50KB. Идеально для производительных приложений.
Built-in Concurrency
Вдохновлен элегантным синтаксисом чтения состояния Riverpod.
Первые шаги
Интеграция miniriverpod в Flutter-проект за считанные минуты.
Установка
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
В отличие от оригинального Riverpod Provider + AsyncProvider + WidgetRef нацелен на Flutter и не поддерживает standalone Dart проекты. Это позволило убрать около 70% внутренней логики для лучшей производительности.
Предыдущая
Open SourceСледующая
Installation