flutter_cora_riverpod 0.0.1-dev.6 copy "flutter_cora_riverpod: ^0.0.1-dev.6" to clipboard
flutter_cora_riverpod: ^0.0.1-dev.6 copied to clipboard

A simple Flutter package for separating UI and business logic using a view-controller pattern.

flutter_cora_riverpod #

deploy codecov Pub Version GitHub License GitHub last commit Pub Points

flutter_cora_riverpod is a simple Flutter package for implementing the view-controller pattern, helping you separate UI and business logic to maintain cleaner and more organized code.

Note: If you are not using flutter_riverpod for state management, check out flutter_cora.

Features #

  • Separate UI (View) from business logic (State).
  • Promote clean architecture for Flutter applications.
  • Lightweight and easy to integrate into existing projects

Getting started #

To use this package, add flutter_cora_riverpod as a dependency in your pubspec.yaml file

dependencies:
  flutter_cora_riverpod: ^0.0.1-dev.6

Usage #

Here is a simple example of how to use flutter_cora_riverpod.

/// Provider for the counter label.
final labelProvider = Provider.autoDispose((ref) => 'Count');

/// example_view.dart
class ExampleView extends CoraConsumerView<ExampleState> {
  const ExampleView({
    required this.name,
    super.key,
  });

  final String name;

  @override
  Widget build(ExampleState state) {
    return Column(
      children: [
        Text(state.watch(labelProvider)), // same as ref.watch
        Text(
          '${state.count}',
          style: Theme.of(state.context).textTheme.titleLarge,
        ),
      ],
    );
  }

  @override
  ExampleState createState() => ExampleState();
}

/// example_state.dart
class ExampleState extends CoraConsumerState<ExampleView> {
  int count = 1;

  @override
  void initState() {
    super.initState();
    print('name: ${widget.name}');
    print('label: ${read(labelProvider)}'); // same as ref.read
  }
}
0
likes
160
pub points
0%
popularity

Publisher

verified publisheralbinpk.dev

A simple Flutter package for separating UI and business logic using a view-controller pattern.

Repository (GitHub)
View/report issues
Contributing

Topics

#mvc #riverpod #view-controller #architecture #clean-code

Documentation

API reference

License

MIT (license)

Dependencies

flutter, flutter_riverpod

More

Packages that depend on flutter_cora_riverpod