tbloc_dart 0.3.0 copy "tbloc_dart: ^0.3.0" to clipboard
tbloc_dart: ^0.3.0 copied to clipboard

outdated

A dart library that helps you to implement the BLoC pattern.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:tbloc_dart/core/base/base.dart';

import 'counter.bloc.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatelessWidget {
  final String title;
  final bloc = CounterBloc();

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(title),
      ),
      body: BlocProvider(
        bloc: bloc,
        child: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Row(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  MaterialButton(
                    child: Text('INCREMENT'),
                    onPressed: () {
                      bloc.dispatchEvent(CounterBlocEvent.increment());
                    },
                  ),
                  MaterialButton(
                    child: Text('DECREMENT'),
                    onPressed: () {
                      bloc.dispatchEvent(CounterBlocEvent.decrement());
                    },
                  ),
                  MaterialButton(
                    child: Text('RESET'),
                    onPressed: () {
                      bloc.reset();
                    },
                  ),
                ],
              ),
              Text(
                'You have pushed the button this many times:',
              ),
              CounterWidget(),
            ],
          ),
        ),
      ),
    );
  }
}

class CounterWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final bloc = BlocProvider.of<CounterBloc>(context);

    return BlocBuilderWidget(
      bloc: bloc,
      builder: (context, CounterBlocState state) {
        return Text(
          '${state.counter}',
          style: Theme.of(context).textTheme.display1,
        );
      },
    );
  }
}
0
likes
0
pub points
55%
popularity

Publisher

unverified uploader

A dart library that helps you to implement the BLoC pattern.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

async, equatable, flutter, meta, rxdart, subx

More

Packages that depend on tbloc_dart