ຄົ້ນຫາ 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 ລ້ວນຮອງຮັບ.

ຂັ້ນຕອນຕໍ່ໄປ

Providers

ກັບໄປໃຊ້ Provider, AsyncProvider, ແລະ read APIs ໃນງານຈິງ.

ເປີດ Providers

Mutations

ສ້າງ write flows ທີ່ຊັດເຈນດ້ວຍການຄວບຄຸມ concurrency.

ເປີດ Mutations