flutter_riverpod_restorable 2.0.1
flutter_riverpod_restorable: ^2.0.1 copied to clipboard
A Riverpod provider for Flutter State Restoration
A Riverpod provider for Flutter State Restoration
Features #
Riverpod doesn't provide a simple way to restore state when an app gets killed by the OS. This package provides a way to do that.
Usage #
How to register global providers for restoration:
final counterProvider = RestorableProvider(
// our default value
(ref) => RestorableInt(0),
// each provider needs a unique restorationId
restorationId: 'counterProvider',
);
MaterialApp(
// Required to restore state
restorationScopeId: 'root',
// Required to register global providers for restoration
builder: (context, child) => RestorableProviderRegister(
restorationId: 'app',
providers: [
// list your global restorable providers here
counterProvider,
],
child: child ?? const SizedBox.shrink(),
),
);
How to register overridden providers for restoration:
RestorableProviderScope(
restorationId: 'counter_page_scope',
overrides: [
// if you only use the overriden restorable provider, you only need to add it here.
counterProvider.overrideWith((ref) => RestorableInt(0)),
],
child: const CounterPage(),
)
Additional information #
For information on how to restore navigation, see the example or https://api.flutter.dev/flutter/widgets/Navigator-class.html#state-restoration