Өдөр тутмын ажилд зориулсан хурдан API хайлт.

Энэ хуудас miniriverpod_core.dart болон miniriverpod_flutter.dart-аас нийтлэг ашиглагддаг class болон method-уудыг нэгтгэн харуулна.

Үндсэн төрлүүд

Үндсэн state болон provider primitiv-үүд.

AsyncValue<T>

AsyncLoading / AsyncData / AsyncError

Provider<T>

Синхрон provider, autoDispose нь сонголттой

AsyncProvider<T>

.future selector бүхий асинхрон provider

Унших зөвлөгөө

AsyncValue нь when method-гүй; switch pattern matching эсвэл is шалгалтыг ашигла.

Ref болон ProviderContainer-ийн аргууд

Шинэчлэх, хүчингүй болгох, lifecycle, mutation гүйцэтгэлд зориулсан нийтлэг аргууд.

Нийтлэг дараалал

Аргуудын зураг

read / watch / listen                 : provider-уудыг уншиж, subscribe хийнэ.
invalidate / refresh / refreshValue    : төлөвийг дахин тооцоолно.
onDispose / keepAlive / emit           : lifecycle болон 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');
  }
}

// Мутацын гүйцэтгэл
await ref.invoke(userProvider.rename('Alice'));
ProviderScope(container: external) ашиглахад container.dispose()-ийг гараар дуудна.
UncontrolledProviderScope нь inject хийсэн container-ийг хэзээ ч dispose хийхгүй.
Consumer, ConsumerWidget, ConsumerStatefulWidget бүгд дэмжигдэнэ.

Дараагийн алхмууд

Provider-ууд

Provider, AsyncProvider, read API-уудын практик хэрэглээнд буцаж ор.

Provider-уудыг нээх

Мутацууд

Тодорхой бичих урсгалыг concurrency control-тойгоор хэрэгжүүл.

Мутацуудыг нээх