Cài đặt miniriverpod trong vài phút.

Đặt các ràng buộc SDK, thêm package và xác nhận ProviderScope + WidgetRef.watch được kết nối đúng.

Yêu cầu

Dùng các ràng buộc giống package để tránh lệch giữa analyzer và runtime.

Dart SDK

>=3.10.0 <4.0.0

Flutter

Mẹo

Nếu ứng dụng của bạn bị ghim dưới Dart 3.10, hãy nâng ràng buộc SDK trước, rồi chạy flutter pub get.

Cài đặt

Ưu tiên cài đặt bằng CLI, sau đó giữ phiên bản khớp với changelog của package.

CLI

pubspec.yaml

# Add to dependencies
dependencies:
  miniriverpod: ^0.0.2

Các bước đầu tiên

Bọc ứng dụng của bạn trong ProviderScope, định nghĩa một Provider và render state từ 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')),
    );
  }
}
Dùng Provider((ref) => ...) cho các giá trị đồng bộ.
Dùng AsyncProvider<T>((ref) async => ...) cho Future và ref.emit(stream) cho Stream.
Chuyển sang ref.invoke(provider.method()) khi bạn triển khai các mutation.

Các bước tiếp theo

Khái niệm cốt lõi

Hiểu định danh provider dựa trên args, injection của Scope và các lựa chọn thiết kế không dùng codegen.

Mở các khái niệm cốt lõi

Providers & Reads

Tìm hiểu hành vi watch/read/listen và các mẫu refresh của AsyncProvider.

Mở Providers

Tham chiếu API

Tra cứu nhanh các phương thức như invalidate, refreshValue, keepAlive và invoke.

Mở tham chiếu API