Skip to content

PiperState management simplified

Lifecycle-aware ViewModels for Flutter.

Piper

See it in action

dart
class CounterViewModel extends ViewModel {
  late final count = state(0);

  void increment() => count.update((n) => n + 1);
}
dart
class CounterPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final vm = context.vm<CounterViewModel>();

    return vm.count.build(
      (count) => Text('$count'),
    );
  }
}

Released under the MIT License.