Швидкий пошук API для щоденної роботи.

Ця сторінка підсумовує класи та методи, що найчастіше використовуються, з miniriverpod_core.dart і miniriverpod_flutter.dart.

Основні типи

Основні примітиви стану та провайдерів.

AsyncValue<T>

AsyncLoading / AsyncData / AsyncError

Provider<T>

Синхронний провайдер з необов'язковим autoDispose

AsyncProvider<T>

Асинхронний провайдер із селектором .future

Порада з читання

AsyncValue не містить методу when; використовуйте зіставлення з шаблоном у switch або перевірки is.

Методи Ref та ProviderContainer

Поширені операційні методи для оновлення, анулювання, життєвого циклу та виконання мутацій.

Типова послідовність

Карта методів

read / watch / listen                 : читати провайдери та підписуватися на них.
invalidate / refresh / refreshValue    : перерахувати стан.
onDispose / keepAlive / emit           : життєвий цикл і підключення потоків.
mutation / mutate / invoke             : відстежувані операції запису.
scope / overrideWithValue              : DI та перевизначення для тестування.

Знімок 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 ніколи не викликає dispose для переданого контейнера.
Підтримуються Consumer, ConsumerWidget і ConsumerStatefulWidget.

Наступні кроки

Провайдери

Поверніться до практичного використання Provider, AsyncProvider та API читання.

Переглянути провайдери

Мутації

Реалізуйте явні потоки запису з контролем конкурентності.

Переглянути мутації