miniriverpod를 몇 분 만에 설치하세요.
SDK 제약을 설정하고, 패키지를 추가한 뒤, ProviderScope + WidgetRef.watch가 올바르게 연결되었는지 확인하세요.
요구 사항
분석기와 런타임 불일치를 피하려면 패키지와 같은 제약을 사용하세요.
Dart SDK
>=3.10.0 <4.0.0
Flutter
팁
앱이 Dart 3.10보다 낮게 고정되어 있다면, 먼저 SDK 제약을 올린 다음 flutter pub get을 실행하세요.
설치
CLI 설치를 권장하며, 이후 버전을 패키지 변경 로그와 맞추세요.
CLI
pubspec.yaml
# 의존성에 추가
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)을 사용하세요.
mutations를 구현할 때는 ref.invoke(provider.method())로 전환하세요.