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 نمایش دهید.

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) => ...) استفاده کنید.
برای Future از AsyncProvider<T>((ref) async => ...) و برای Stream از ref.emit(stream) استفاده کنید.
وقتی تغییرات را پیاده‌سازی می‌کنید، به ref.invoke(provider.method()) مهاجرت کنید.

گام‌های بعدی

مفاهیم پایه

شناسه‌ی provider بر پایه‌ی آرگومان‌ها، تزریق Scope و انتخاب‌های طراحی بدون codegen را درک کنید.

باز کردن مفاهیم پایه

Providerها و خواندن‌ها

رفتار watch/read/listen و الگوهای بازخوانی AsyncProvider را یاد بگیرید.

باز کردن Providerها

مرجع API

روش‌هایی مانند invalidate، refreshValue، keepAlive و invoke را سریع پیدا کنید.

باز کردن مرجع API