幾分鐘內安裝 miniriverpod。
設定 SDK 限制、加入套件,並確認 ProviderScope + WidgetRef.watch 已正確連接。
需求
請使用與套件相同的限制,以避免 analyzer 與 runtime 不一致。
Dart SDK
>=3.10.0 <4.0.0
Flutter
提示
如果你的應用程式鎖定在 Dart 3.10 以下,請先提高 SDK 限制,再執行 flutter pub get。
安裝
優先使用 CLI 安裝,接著讓版本與套件 changelog 保持一致。
CLI
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())。