केही मिनेटमै miniriverpod इन्स्टल गर्नुहोस्।

SDK constraints सेट गर्नुहोस्, package थप्नुहोस्, र ProviderScope + WidgetRef.watch सही रूपमा जोडिएको छ कि छैन भनेर पुष्टि गर्नुहोस्।

आवश्यकताहरू

Analyzer र runtime mismatch बाट बच्न package जस्तै constraints प्रयोग गर्नुहोस्।

Dart SDK

>=3.10.0 <4.0.0

Flutter

सुझाव

यदि तपाईंको app Dart 3.10 भन्दा तल pin गरिएको छ भने, पहिले SDK constraints बढाउनुहोस्, अनि flutter pub get चलाउनुहोस्।

इन्स्टलेसन

CLI मार्फत इन्स्टल गर्न प्राथमिकता दिनुहोस्, त्यसपछि version लाई package changelog सँग मिलाएर राख्नुहोस्।

CLI

pubspec.yaml

# Add to dependencies
dependencies:
  miniriverpod: ^0.0.2

पहिलो चरणहरू

आफ्नो app लाई ProviderScope भित्र राख्नुहोस्, Provider परिभाषित गर्नुहोस्, र ConsumerWidget बाट state render गर्नुहोस्।

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) प्रयोग गर्नुहोस्।
mutations लागू गर्दा ref.invoke(provider.method()) मा सर्नुहोस्।

अर्को चरणहरू

मुख्य अवधारणाहरू

args-आधारित provider identity, Scope injection, र no-codegen design choices बुझ्नुहोस्।

मुख्य अवधारणाहरू खोल्नुहोस्

Providर र पढाइहरू

watch/read/listen व्यवहार र AsyncProvider refresh patterns सिक्नुहोस्।

Providरहरू खोल्नुहोस्

API सन्दर्भ

invalidate, refreshValue, keepAlive, invoke जस्ता methods छिटो खोज्नुहोस्।

API सन्दर्भ खोल्नुहोस्