ຄົ້ນຫາ API ໄດ້ຢ່າງວ່ອງໄວສໍາລັບວຽກປະຈໍາວັນ.
ໜ້ານີ້ສະຫຼຸບ classes ແລະ methods ທີ່ໃຊ້ບ່ອຍຈາກ miniriverpod_core.dart ແລະ miniriverpod_flutter.dart.
ປະເພດຫຼັກ
ປະເພດ state ແລະ provider primitives ຫຼັກ.
AsyncValue<T>
AsyncLoading / AsyncData / AsyncError
Provider<T>
provider ແບບ synchronous ພ້ອມ autoDispose ແບບເລືອກໄດ້
AsyncProvider<T>
.future selector ສໍາລັບ provider ແບບ asynchronous
ຄໍາແນະນໍາໃນການອ່ານ
AsyncValue ບໍ່ມີ method when; ໃຫ້ໃຊ້ switch pattern matching ຫຼືການກວດ is.
ວິທີຂອງ Ref ແລະ ProviderContainer
ວິທີດໍາເນີນງານທົ່ວໄປສໍາລັບ refresh, invalidation, lifecycle, ແລະ mutation.
ລໍາດັບທົ່ວໄປ
ຕາຕະລາງວິທີ
read / watch / listen : ອ່ານ ແລະຕິດຕາມ providers.
invalidate / refresh / refreshValue : ຄຳນວນ state ໃໝ່.
onDispose / keepAlive / emit : lifecycle ແລະ stream wiring.
mutation / mutate / invoke : ການຂຽນທີ່ຖືກຕິດຕາມ.
scope / overrideWithValue : DI ແລະ testing overrides.
ພາບລວມ 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 ລ້ວນຮອງຮັບ.