ຕິດຕັ້ງ miniriverpod ໃນບໍ່ກີ່ນາທີ.

ກໍານົດ SDK constraints, ເພີ່ມ package, ແລະຢືນຢັນວ່າ ProviderScope + WidgetRef.watch ເຊື່ອມຕໍ່ຖືກຕ້ອງ.

ຂໍ້ກໍານົດ

ໃຊ້ຂໍ້ກໍານົດດຽວກັນກັບ package ເພື່ອຫຼີກລ້ຽງຄວາມບໍ່ກົງກັນຂອງ analyzer ແລະ runtime.

Dart SDK

>=3.10.0 <4.0.0

Flutter

ເຄັດລັບ

ຖ້າແອັບຂອງທ່ານຖືກລັອກໃຫ້ຕ່ໍາກວ່າ Dart 3.10, ໃຫ້ຍົກ SDK constraints ກ່ອນ, ແລ້ວຮັນ flutter pub get.

ການຕິດຕັ້ງ

ແນະນໍາໃຫ້ຕິດຕັ້ງຜ່ານ CLI ແລະຮັກສາສະບັບໃຫ້ຕົງກັບ package changelog.

CLI

pubspec.yaml

# Add to dependencies
dependencies:
  miniriverpod: ^0.0.2

ຂັ້ນຕອນທໍາອິດ

ຫໍ່ແອັບຂອງທ່ານໃສ່ ProviderScope, ກໍານົດ Provider, ແລະແສດງ state ຈາກ 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) => ...) ສໍາລັບຄ່າທີ່ເປັນ synchronous.
ໃຊ້ AsyncProvider<T>((ref) async => ...) ສໍາລັບ Future ແລະ ref.emit(stream) ສໍາລັບ Stream.
ສະຫຼັບໄປໃຊ້ ref.invoke(provider.method()) ເມື່ອທ່ານສ້າງ mutations.

ຂັ້ນຕອນຕໍ່ໄປ

ແນວຄິດຫຼັກ

ເຂົ້າໃຈ provider identity ທີ່ອີງຕາມ args, Scope injection, ແລະຕົວເລືອກອອກແບບແບບບໍ່ມີ codegen.

ເປີດແນວຄິດຫຼັກ

Provider ແລະ Reads

ຮຽນຮູ້ພຶດຕິກໍາ watch/read/listen ແລະຮູບແບບການ refresh ຂອງ AsyncProvider.

ເປີດ Provider

API Reference

ຄົ້ນຫາວິທີໃຊ້ invalidate, refreshValue, keepAlive, ແລະ invoke ໄດ້ຢ່າງວ່ອງໄວ.

ເປີດ API Reference