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 намоиш диҳед.

// 1) Барномаи худро бо ProviderScope печонед
void main() {
  runApp(const ProviderScope(child: MyApp()));
}

// 2) Provider-ро муайян кунед
final counterProvider = Provider<int>((ref) => 0);

// 3) Аз UI назорат кунед
class MyApp extends ConsumerWidget {
  const MyApp({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 дар асоси args, дохилкунии Scope ва интихоби тарроҳии бе codegen.

Консепсияҳои асосиро кушоед

Providerҳо ва хонданҳо

Рафтори watch/read/listen ва намунаҳои навсозии AsyncProvider-ро омӯзед.

Providerҳоро кушоед

Маълумотномаи API

Мисли invalidate, refreshValue, keepAlive ва invoke-ро зуд пайдо кунед.

Маълумотномаи API-ро кушоед