ค้นหา API อย่างรวดเร็วสำหรับงานประจำวัน.
หน้านี้สรุปคลาสและเมธอดที่ใช้บ่อยจาก miniriverpod_core.dart และ miniriverpod_flutter.dart.
ชนิดข้อมูลหลัก
โครงสร้างพื้นฐานของ state และ provider.
AsyncValue<T>
AsyncLoading / AsyncData / AsyncError
Provider<T>
provider แบบ synchronous พร้อม autoDispose แบบเลือกใช้
AsyncProvider<T>
provider แบบ asynchronous พร้อมตัวเลือก .future
เคล็ดลับ
AsyncValue ไม่มีเมธอด when; ให้ใช้ switch pattern matching หรือการตรวจ `is`.
เมธอดของ Ref และ ProviderContainer
เมธอดการทำงานที่ใช้บ่อยสำหรับการรีเฟรช การทำให้เป็นโมฆะ วงจรชีวิต และการเรียก mutation.
ลำดับทั่วไป
แผนผังเมธอด
read / watch / listen : อ่านและ subscribe provider.
invalidate / refresh / refreshValue : คำนวณสถานะใหม่.
onDispose / keepAlive / emit : วงจรชีวิตและการเชื่อมต่อ stream.
mutation / mutate / invoke : การเขียนที่ถูกติดตาม.
scope / overrideWithValue : DI และการ override สำหรับการทดสอบ.
ภาพรวม Flutter API
จุดเข้า ProviderScope + WidgetRef ที่ใช้ในโค้ดแอป
// ขอบเขต
ProviderScope(
child: const App(),
);
// ตัวอย่าง ConsumerWidget
class Header extends ConsumerWidget {
const Header({super.key});
@override
Widget build(BuildContext context, WidgetRef ref) {
final user = ref.watch(currentUser);
return Text('$user');
}
}
// การทำงานของ mutation
await ref.invoke(userProvider.rename('Alice'));
ProviderScope(container: external) ต้องเรียก container.dispose() ด้วยตนเอง.
UncontrolledProviderScope จะไม่ dispose container ที่ส่งเข้าไป.
รองรับ Consumer, ConsumerWidget และ ConsumerStatefulWidget ทั้งหมด.