june 0.0.3 copy "june: ^0.0.3" to clipboard
june: ^0.0.3 copied to clipboard

Simple State Manager is all you need

Simple is all you need #

Why use complex and bulky state management?
What you need is very simple, but it's a state management that satisfies us 100% when making an app.
And that state management is right here.

June #

June is an easy-to-use and intuitive lightweight state management library that has all the features needed when creating an app.

Usage #

  1. Create a ViewModel class that extends JuneDataClass.
class CounterVM extends JuneDataClass {
  int count = 0;
}
  1. Create a JuneUpdater widget.
JuneUpdater(
  () => CounterVM(),
  child: (vm) => Column(
    mainAxisAlignment: MainAxisAlignment.center,
    children: <Widget>[
      Text('${vm.count}'
      ),
    ],
  ),
)
  1. Update the ViewModel class using the June.get method.
var viewModel = June.get(CounterVM());
viewModel.count++;

viewModel.update();

That's All!

Example #

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

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Center(
          child: JuneUpdater(
            () => CounterVM(),
            child: (vm) => Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                const Text('You have pushed the button this many times:'),
                Text(
                  '${vm.count}',
                  style: Theme.of(context).textTheme.headlineMedium,
                ),
              ],
            ),
          ),
        ),
        floatingActionButton: const FloatingActionButton(
          onPressed: incrementCounter,
          tooltip: 'Increment',
          child: Icon(Icons.add),
        ),
      ),
    );
  }
}

void incrementCounter() {
  var viewModel = June.get(CounterVM());
  viewModel.count++;

  viewModel.update();
}

class CounterVM extends JuneDataClass {
  int count = 0;
}

53
likes
0
pub points
79%
popularity

Publisher

verified publisherjunelee.fun

Simple State Manager is all you need

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on june