几分钟内安装 miniriverpod。
设置 SDK 约束,添加 package,并确认 ProviderScope + WidgetRef.watch 已正确连接。
要求
使用与 package 相同的约束,以避免 analyzer 与 runtime 不一致。
Dart SDK
>=3.10.0 <4.0.0
Flutter
提示
如果你的应用锁定在 Dart 3.10 之前,请先提高 SDK 约束,再运行 flutter pub get。
安装
优先通过命令行安装,然后让版本与 package 的 changelog 保持一致。
命令行
pubspec.yaml
# Add to dependencies
dependencies:
miniriverpod: ^0.0.2
第一步
将应用包裹在 ProviderScope 中,定义 Provider,并在 ConsumerWidget 中渲染状态。
import 'package:flutter/widgets.dart';
import 'package:miniriverpod/miniriverpod.dart';
final counterProvider = Provider<int>((ref) => 0);
void main() {
runApp(const ProviderScope(child: CounterApp()));
}
class CounterApp extends ConsumerWidget {
const CounterApp({super.key});
@override
Widget build(BuildContext context, WidgetRef ref) {
final count = ref.watch(counterProvider);
return Directionality(
textDirection: TextDirection.ltr,
child: Center(child: Text('$count')),
);
}
}
同步值请使用 Provider((ref) => ...)。
Future 请使用 AsyncProvider<T>((ref) async => ...),Stream 请使用 ref.emit(stream)。
实现变更时切换到 ref.invoke(provider.method())。