Skip to content

Instantly share code, notes, and snippets.

@AbhishekDoshi26
Created September 23, 2021 13:59
Show Gist options
  • Save AbhishekDoshi26/d36e6b1ffa4d1efb5200648a786545ca to your computer and use it in GitHub Desktop.
Save AbhishekDoshi26/d36e6b1ffa4d1efb5200648a786545ca to your computer and use it in GitHub Desktop.
import 'package:flutter/material.dart';
import 'package:flutter_redux/flutter_redux.dart';
import 'package:redux/redux.dart';
import 'package:redux_example/redux_service.dart';
class Home extends StatelessWidget {
Home({Key? key}) : super(key: key);
final store = Store<int>(ReduxActions.counterUpdate, initialState: 0);
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: StoreConnector<int, String>(
converter: (store) => store.state.toString(),
builder: (context, count) {
return Text(
'The button has been pushed this many times: $count',
style: Theme.of(context).textTheme.headline4,
);
},
),
),
floatingActionButton: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
StoreConnector<int, VoidCallback>(
converter: (store) {
return () => store.dispatch(CounterActions.Increment);
},
builder: (context, callback) {
return IconButton(
onPressed: callback,
icon: Icon(Icons.add),
);
},
),
StoreConnector<int, VoidCallback>(
converter: (store) {
return () => store.dispatch(CounterActions.Decrement);
},
builder: (context, callback) {
return IconButton(
onPressed: callback,
icon: Icon(Icons.remove),
);
},
),
StoreConnector<int, VoidCallback>(
converter: (store) {
return () => store.dispatch(CounterActions.Reset);
},
builder: (context, callback) {
return IconButton(
onPressed: callback,
icon: Icon(Icons.refresh),
);
},
),
],
),
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment