Инсталирайте miniriverpod за минути.

Задайте ограниченията на SDK, добавете пакета и потвърдете, че ProviderScope + WidgetRef.watch са свързани правилно.

Изисквания

Използвайте същите ограничения като пакета, за да избегнете несъответствия между анализатора и runtime.

Dart SDK

>=3.10.0 <4.0.0

Flutter

Съвет

Ако приложението ви е фиксирано под Dart 3.10, първо вдигнете ограниченията на SDK, след което изпълнете flutter pub get.

Инсталация

Предпочитайте инсталация чрез CLI, след което дръжте версията в синхрон с дневника на промените на пакета.

CLI

pubspec.yaml

# Добавете към зависимостите
dependencies:
  miniriverpod: ^0.0.2

Първи стъпки

Обградете приложението си с ProviderScope, дефинирайте Provider и изобразявайте състоянието от ConsumerWidget.

import 'package:flutter/widgets.dart';
import 'package:miniriverpod/miniriverpod.dart';

final counterProvider = Provider<int>((ref) => 0);

void main() {
  runApp(const ProviderScope(child: CounterApp()));
}

class CounterApp extends ConsumerWidget {
  const CounterApp({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 injection и изборите в дизайна без codegen.

Отворете основните концепции

Provider-и и четене

Научете поведението на watch/read/listen и моделите за обновяване на AsyncProvider.

Отворете Provider-и

API документация

Бързо намирайте методи като invalidate, refreshValue, keepAlive и invoke.

Отворете API документацията