Встановіть miniriverpod за кілька хвилин.

Налаштуйте обмеження SDK, додайте пакет і переконайтеся, що ProviderScope + WidgetRef.watch з'єднані правильно.

Вимоги

Використовуйте ті самі обмеження, що й пакет, щоб уникнути невідповідності analyzer і runtime.

Dart SDK

>=3.10.0 <4.0.0

Flutter

Порада

Якщо ваш застосунок зафіксовано нижче Dart 3.10, спочатку підвищте обмеження SDK, а потім запустіть flutter pub get.

Встановлення

Надавайте перевагу встановленню через CLI, а потім тримайте версію узгодженою з changelog пакета.

CLI

pubspec.yaml

# Додайте до dependencies
dependencies:
  miniriverpod: ^0.0.2

Перші кроки

Загорніть застосунок у ProviderScope, визначте Provider і відображайте стан з ConsumerWidget.

// 1) Загорніть свій застосунок у ProviderScope
void main() {
  runApp(const ProviderScope(child: MyApp()));
}

// 2) Визначте Provider
final counterProvider = Provider<int>((ref) => 0);

// 3) Слідкуйте з UI
class MyApp extends ConsumerWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final count = ref.watch(counterProvider);
    return Directionality(
      textDirection: TextDirection.ltr,
      child: Center(child: Text('$count')),
    );
  }
}
Використовуйте Provider((ref) => ...) для синхронних значень.
Використовуйте AsyncProvider<T>((ref) async => ...) для Future і ref.emit(stream) для Stream.
Переходьте на ref.invoke(provider.method()), коли реалізовуєте мутації.

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

Основні концепції

Зрозумійте ідентичність provider на основі args, інʼєкцію Scope і вибір дизайну без codegen.

Відкрити основні концепції

Providerи та читання

Вивчіть поведінку watch/read/listen і шаблони оновлення AsyncProvider.

Відкрити Providers

Довідник API

Швидко знайдіть методи на кшталт invalidate, refreshValue, keepAlive і invoke.

Відкрити довідник API