日常実装向けのAPI早見表。

miniriverpod_core.dart と miniriverpod_flutter.dart で頻出するクラスとメソッドを整理しています。

コア型

状態管理の土台になる主要型です。

AsyncValue<T>

AsyncLoading / AsyncData / AsyncError

Provider<T>

同期値用プロバイダ(autoDispose対応)

AsyncProvider<T>

非同期値用プロバイダ(.futureセレクタ付き)

読み方

AsyncValue には when メソッドがないため、switch パターンか is 判定を使います。

Ref と ProviderContainer の主要メソッド

再計算、ライフサイクル、mutation 実行でよく使うAPIをまとめます。

よく使う操作

ref.invalidate(provider, keepPrevious: true);

メソッドマップ

read / watch / listen                 : 値取得と購読。
invalidate / refresh / refreshValue    : 再計算。
onDispose / keepAlive / emit           : ライフサイクル制御とStream接続。
mutation / mutate / invoke             : 追跡可能な更新処理。
scope / overrideWithValue              : DI とテスト差し替え。

Flutter API スナップショット

ProviderScope と WidgetRef の最小導線です。

flutter_usage.dart
// Scope
ProviderScope(
  child: const App(),
);

// ConsumerWidget
class Header extends ConsumerWidget {
  const Header({super.key});

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final user = ref.watch(currentUser);
    return Text('$user');
  }
}

// Mutation実行
await ref.invoke(userProvider.rename('Alice'));
ProviderScope(container: external) を使う場合は手動 dispose が必要です。
UncontrolledProviderScope は注入コンテナを破棄しません。
Consumer / ConsumerWidget / ConsumerStatefulWidget を用途で選べます。

次のステップ

Providers

Provider、AsyncProvider、読み取りAPIの実践パターンに戻ります。

Providersを開く

Mutations

明示的な更新フローと並行制御を確認します。

Mutationsを開く