कुछ ही मिनटों में miniriverpod इंस्टॉल करें।

SDK constraints सेट करें, पैकेज जोड़ें, और पुष्टि करें कि ProviderScope + WidgetRef.watch सही तरह से जुड़े हैं।

आवश्यकताएँ

Analyzer और runtime mismatch से बचने के लिए package जैसी ही constraints का उपयोग करें।

Dart SDK

>=3.10.0 <4.0.0

Flutter

टिप

यदि आपका ऐप Dart 3.10 से नीचे pinned है, तो पहले SDK constraints बढ़ाएँ, फिर flutter pub get चलाएँ।

इंस्टॉलेशन

CLI इंस्टॉल को प्राथमिकता दें, फिर version को package changelog के साथ aligned रखें।

CLI

pubspec.yaml

# dependencies में जोड़ें
dependencies:
  miniriverpod: ^0.0.2

पहले कदम

अपने ऐप को 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 को समझें।

बेसिक कॉन्सेप्ट्स खोलें

Providers & Reads

watch/read/listen व्यवहार और AsyncProvider refresh patterns सीखें।

Providers खोलें

API संदर्भ

invalidate, refreshValue, keepAlive, और invoke जैसे methods जल्दी देखें।

API संदर्भ खोलें