几分钟内安装 miniriverpod。

设置 SDK 约束,添加 package,并确认 ProviderScope + WidgetRef.watch 已正确连接。

要求

使用与 package 相同的约束,以避免 analyzer 与 runtime 不一致。

Dart SDK

>=3.10.0 <4.0.0

Flutter

提示

如果你的应用锁定在 Dart 3.10 之前,请先提高 SDK 约束,再运行 flutter pub get。

安装

优先通过命令行安装,然后让版本与 package 的 changelog 保持一致。

命令行

pubspec.yaml

# Add to dependencies
dependencies:
  miniriverpod: ^0.0.2

第一步

将应用包裹在 ProviderScope 中,定义 Provider,并在 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) => ...)。
Future 请使用 AsyncProvider<T>((ref) async => ...),Stream 请使用 ref.emit(stream)。
实现变更时切换到 ref.invoke(provider.method())。

下一步

核心概念

了解基于 args 的 provider 标识、Scope 注入,以及无需 codegen 的设计选择。

打开核心概念

Providers 与读取

学习 watch/read/listen 行为和 AsyncProvider 刷新模式。

打开 Providers

API 参考

快速查找 invalidate、refreshValue、keepAlive 和 invoke 等方法。

打开 API 参考