provider_msg 0.1.0 copy "provider_msg: ^0.1.0" to clipboard
provider_msg: ^0.1.0 copied to clipboard

Set of integrations with Provider aimed to further reducing boilerplate and making usage of those two packages seamless

example/lib/main.dart

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) => MaterialApp(
        home: CounterScreen(),
      );
}

class IncrementMsg extends Msg<int> {
  IncrementMsg(int amount) : super(update: (current) => current + amount);
}

class DecrementMsg extends Msg<int> {
  DecrementMsg(int amount) : super(update: (current) => current - amount);
}

class CounterScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) => StoreProvider<int>(
        create: (_) => Store(initialModel: 0),
        builder: (_, store) => Scaffold(
          appBar: AppBar(
            title: Text("Provider counter"),
          ),
          body: Center(
            child: CounterBody(),
          ),
        ),
      );
}

class CounterBody extends StatelessWidget {
  @override
  Widget build(BuildContext context) => Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Binder<int>(
            (_, model) => Text("Current value: $model"),
          ),
          OutlinedButton(
            onPressed: () => context.send(IncrementMsg(2)),
            child: Text("Increment"),
          ),
          OutlinedButton(
            onPressed: () => context.send(DecrementMsg(1)),
            child: Text("Decrement"),
          ),
        ],
      );
}
1
likes
100
pub points
0%
popularity

Publisher

unverified uploader

Set of integrations with Provider aimed to further reducing boilerplate and making usage of those two packages seamless

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

flutter, flutter_msg, provider

More

Packages that depend on provider_msg