無需 Code Gen
撰寫標準 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下一頁
安裝