日常工作中的 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 都受支持。