flutter_riverpod_restorable 1.0.1 icon indicating copy to clipboard operation
flutter_riverpod_restorable: ^1.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 providers here
      counterProvider,
    ],
    child: child ?? const SizedBox.shrink(),
  ),
);

How to register overridden providers for restoration:

RestorableProviderScope(
  restorationId: 'counter_page_scope',
  restorableOverrides: [
    // use overrideWithRestorable instead of overrideWithValue
    counterProvider.overrideWithRestorable(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

3
likes
120
pub points
36%
popularity

Publisher

unverified uploader

A Riverpod provider for Flutter State Restoration

Documentation

API reference

License

Icon for licenses.MIT (LICENSE)

Dependencies

flutter, flutter_riverpod, riverpod

More

Packages that depend on flutter_riverpod_restorable