Усталюйце 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 і дызайнерскіх рашэннях без codegen.

Адкрыць асноўныя паняцці

Provider-ы і чытанне

Вывучыце паводзіны watch/read/listen і шаблоны абнаўлення AsyncProvider.

Адкрыць Provider-ы

API-дакументацыя

Хутка знаходзьце метады накшталт invalidate, refreshValue, keepAlive і invoke.

Адкрыць API-дакументацыю