flutter_mvu 1.0.6 copy "flutter_mvu: ^1.0.6" to clipboard
flutter_mvu: ^1.0.6 copied to clipboard

A minimal Elm‑inspired Model‑View‑Update state management library for Flutter.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter_mvu/flutter_mvu.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'flutter_mvu Example',
      home: Scaffold(
        appBar: AppBar(title: Text('Auto-managed Counter')),
        body: ModelProvider(
          CounterModel(),
          stateView: CounterView(),
        ),
      ),
    );
  }
}

// 1️⃣ Model
class CounterModel {
  int count = 0;
}

// 2️⃣ Event
class IncrementEvent implements Event<CounterModel> {
  @override
  void updateModel(CounterModel model, trigger, _) {
    model.count++;
  }
}

// 3️⃣ View
class CounterView extends StateView<CounterModel> {
  @override
  Widget view(
    BuildContext context,
    CounterModel state,
    void Function(Event<CounterModel>) triggerEvent,
  ) {
    return Center(
      child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Text('Count: ${state.count}', style: TextStyle(fontSize: 32)),
          ElevatedButton(
            onPressed: () => triggerEvent(IncrementEvent()),
            child: Text('Increment ➕'),
          ),
        ],
      ),
    );
  }
}
1
likes
160
points
64
downloads

Publisher

unverified uploader

Weekly Downloads

A minimal Elm‑inspired Model‑View‑Update state management library for Flutter.

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on flutter_mvu