โซลูชันจัดการสถานะแบบเบาสำหรับ Flutter
สัมผัสพลังของสถาปัตยกรรม reactive แบบ Riverpod โดยไม่ต้องพึ่ง code generation หรือ dependency หนัก
ไม่ใช้ Code Gen
เขียนคลาสและ provider ของ Dart ตามปกติ ไม่ต้องใช้ 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 แบบสแตนด์อโลน ทำให้เราตัด logic ภายในออกได้ถึง 70% เพื่อประสิทธิภาพ
ก่อนหน้า
Open Sourceถัดไป
การติดตั้ง