面向 Flutter 的轻量状态管理方案。

无需代码生成或沉重依赖,也能体验 Riverpod 的响应式架构。

无需代码生成

编写标准 Dart 类与 provider,无需 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 应用,不支持纯 Dart 项目。我们因此削减了 70% 内部逻辑以提升性能。

上一页

Open Source

下一页

安装