Giải pháp state management nhẹ cho Flutter.
Trải nghiệm kiến trúc reactive của Riverpod mà không cần code generation hoặc phụ thuộc nặng.
Không cần code gen
Viết class Dart và provider chuẩn. Không cần build_runner.
Nhẹ
Dung lượng dưới 50KB. Lý tưởng cho app cần hiệu năng.
Built-in Concurrency
Lấy cảm hứng trực tiếp từ cú pháp đọc state của Riverpod.
Bước đầu
Học cách tích hợp miniriverpod vào dự án Flutter trong vài phút.
Cài đặt
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
Không giống Riverpod gốc, Provider + AsyncProvider + WidgetRef tập trung vào Flutter và không hỗ trợ dự án Dart thuần. Nhờ đó chúng tôi lược bỏ 70% logic nội bộ để hiệu năng tốt hơn.
Trước
Open SourceSau
Cài đặt