일상 작업을 위한 빠른 API 조회.

이 페이지는 miniriverpod_core.dart와 miniriverpod_flutter.dart에서 자주 사용하는 클래스와 메서드를 요약합니다.

핵심 타입

핵심 상태와 provider 기본 요소입니다.

AsyncValue<T>

AsyncLoading / AsyncData / AsyncError

Provider<T>

선택적 autoDispose가 있는 동기 provider

AsyncProvider<T>

.future 선택자가 있는 비동기 provider

읽기 팁

AsyncValue에는 when 메서드가 없습니다. switch 패턴 매칭 또는 is 검사를 사용하세요.

Ref 및 ProviderContainer 메서드

새로고침, 무효화, 생명주기, mutation 실행을 위한 일반적인 작업 메서드입니다.

일반적인 순서

메서드 맵

read / watch / listen                 : providers를 읽고 구독합니다.
invalidate / refresh / refreshValue    : 상태를 다시 계산합니다.
onDispose / keepAlive / emit           : 생명주기와 스트림 연결.
mutation / mutate / invoke             : 추적되는 쓰기 작업.
scope / overrideWithValue              : DI 및 테스트 오버라이드.

Flutter API 스냅샷

앱 코드에서는 ProviderScope와 WidgetRef 진입점을 사용합니다.

// 스코프
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)은 container.dispose()를 수동으로 호출해야 합니다.
UncontrolledProviderScope는 주입된 container를 절대 dispose하지 않습니다.
Consumer, ConsumerWidget, ConsumerStatefulWidget를 모두 지원합니다.

다음 단계

Providers

Provider, AsyncProvider, read API의 실전 사용으로 돌아가세요.

Providers 열기

Mutations

명시적인 쓰기 흐름을 동시성 제어와 함께 구현합니다.

Mutations 열기