Riverpod yra Flutter bibliotekos paketas, skirtas tvarkyti programos būseną (state management), kuris leidžia lengvai ir saugiai valdyti duomenis tarp skirtingų vaizdų bei komponentų.
Paprasčiausiam pavyzdžiui, pradžioje į savo pubspec.yaml įtrauk riverpod paketą, tada main faile:
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
final counterProvider = StateProvider<int>((ref) => 0);
void main() {
runApp(ProviderScope(child: MyApp()));
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: CounterPage(),
);
}
}
class CounterPage extends ConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
final counter =
ref.watch(counterProvider);
return Scaffold(
appBar: AppBar(title: Text('Riverpod Counter')),
body: Center(child: Text('Counter:
$counter')),
floatingActionButton: FloatingActionButton(
onPressed: () =>
ref.read(counterProvider.notifier).state ,
child: Icon(Icons.add),
),
);
}
}
Šiame pavyzdyje naudojamas paprastas skaitliukas, o visa būsena valdoma per Riverpod provider'į.