Швидкий пошук 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 читання.
Переглянути провайдери