slim 1.0.3 copy "slim: ^1.0.3" to clipboard
slim: ^1.0.3 copied to clipboard

outdated

Super Light State Management using pure dart and flutter, making easy way to work with ChangeNotifier or any other model class

example/main.dart

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Slim<Counter>(
      stateObject: Counter(),
      child: MaterialApp(
        title: 'Flutter Demo',
        theme: ThemeData(
          primarySwatch: Colors.blue,
          visualDensity: VisualDensity.adaptivePlatformDensity,
        ),
        home: MyHomePage(title: 'Flutter Demo Home Page'),
      ),
    );
  }
}

class Counter extends ChangeNotifier {
  int value = 0;
  inc() {
    value++;
    notifyListeners();
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

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

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    final counter = Slim.of<Counter>(context);

    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'You have pushed the button this many times:',
            ),
            Text(
              '${counter.value}',
              style: Theme.of(context).textTheme.headline4,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: counter.inc,
        tooltip: 'Increment',
        child: Icon(Icons.add),
      ),
    );
  }
}
18
likes
0
pub points
0%
popularity

Publisher

unverified uploader

Super Light State Management using pure dart and flutter, making easy way to work with ChangeNotifier or any other model class

Homepage

License

unknown (license)

Dependencies

flutter

More

Packages that depend on slim