โซลูชันจัดการสถานะแบบเบาสำหรับ 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