Быстрый поиск по API для повседневной работы.

Эта страница кратко описывает часто используемые классы и методы из miniriverpod_core.dart и miniriverpod_flutter.dart.

Основные типы

Основные примитивы состояния и провайдеров.

AsyncValue<T>

AsyncLoading / AsyncData / AsyncError

Provider<T>

Синхронный provider с опциональным autoDispose

AsyncProvider<T>

Асинхронный provider с селектором .future

Совет

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

Методы Ref и ProviderContainer

Обычные операционные методы для обновления, инвалидирования, жизненного цикла и выполнения мутаций.

Обычная последовательность

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

read / watch / listen                 : читать и подписываться на провайдеры.
invalidate / refresh / refreshValue    : пересчитывать состояние.
onDispose / keepAlive / emit           : жизненный цикл и связка со stream.
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 никогда не освобождает внедренный container.
Consumer, ConsumerWidget и ConsumerStatefulWidget поддерживаются.

Следующие шаги

Провайдеры

Вернитесь к практическому использованию Provider, AsyncProvider и read API.

Открыть провайдеры

Мутации

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

Открыть мутации