ຕິດຕັ້ງ 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.
ເປີດ ProviderAPI Reference
ຄົ້ນຫາວິທີໃຊ້ invalidate, refreshValue, keepAlive, ແລະ invoke ໄດ້ຢ່າງວ່ອງໄວ.
ເປີດ API Reference