Instalați miniriverpod în câteva minute.

Setați constrângerile SDK, adăugați pachetul și confirmați că ProviderScope + WidgetRef.watch sunt conectate corect.

Cerințe

Folosiți aceleași constrângeri ca pachetul pentru a evita neconcordanțele dintre analyzer și runtime.

Dart SDK

>=3.10.0 <4.0.0

Flutter

Sfat

Dacă aplicația dvs. este blocată sub Dart 3.10, ridicați mai întâi constrângerile SDK, apoi rulați flutter pub get.

Instalare

Preferă instalarea prin CLI, apoi păstrează versiunea aliniată cu changelog-ul pachetului.

CLI

pubspec.yaml

# Add to dependencies
dependencies:
  miniriverpod: ^0.0.2

Primii pași

Înfășurați aplicația în ProviderScope, definiți un Provider și redați starea din 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')),
    );
  }
}
Folosiți Provider((ref) => ...) pentru valori sincrone.
Folosiți AsyncProvider<T>((ref) async => ...) pentru Future și ref.emit(stream) pentru Stream.
Treceți la ref.invoke(provider.method()) când implementați mutații.

Pașii următori

Concepte de bază

Înțelegeți identitatea provider bazată pe args, injectarea Scope și alegerile de design fără codegen.

Deschideți conceptele de bază

Providere și citiri

Învățați comportamentul watch/read/listen și modelele de refresh ale AsyncProvider.

Deschideți providerele

Referință API

Găsiți rapid metode precum invalidate, refreshValue, keepAlive și invoke.

Deschideți referința API