Быстрый поиск по 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.
Открыть провайдеры