日常工作中的 API 快速查询。

本页汇总了 miniriverpod_core.dart 和 miniriverpod_flutter.dart 中常用的类和方法。

核心类型

核心状态和 provider 原语。

AsyncValue<T>

AsyncLoading / AsyncData / AsyncError

Provider<T>

带可选 autoDispose 的同步 provider

AsyncProvider<T>

带 .future 选择器的异步 provider

阅读提示

AsyncValue 不包含 when 方法;请使用 switch 模式匹配或 is 检查。

Ref 和 ProviderContainer 方法

用于刷新、失效、生命周期和 mutation 执行的常用操作方法。

常用顺序

方法映射

read / watch / listen                 : 读取并订阅 provider。
invalidate / refresh / refreshValue    : 重新计算状态。
onDispose / keepAlive / emit           : 生命周期与流的连接。
mutation / mutate / invoke             : 受跟踪的写入操作。
scope / overrideWithValue              : DI 和测试覆盖。

Flutter API 快照

应用代码中使用的 ProviderScope + WidgetRef 入口。

// 作用域
ProviderScope(
  child: const App(),
);

// ConsumerWidget
class Header extends ConsumerWidget {
  const Header({super.key});

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final user = ref.watch(currentUser);
    return Text('$user');
  }
}

// Mutation 执行
await ref.invoke(userProvider.rename('Alice'));
ProviderScope(container: external) 需要手动调用 container.dispose()。
UncontrolledProviderScope 从不释放传入的容器。
Consumer、ConsumerWidget 和 ConsumerStatefulWidget 都受支持。

后续步骤

Providers

回到 Provider、AsyncProvider 和读取 API 的实际用法。

打开 Providers

Mutations

使用并发控制实现显式写入流程。

打开 Mutations