Created
June 9, 2019 21:13
-
-
Save Abion47/13d469da5605faa2e3b4e188f40e0fd9 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:flutter/material.dart'; | |
import 'package:provider/provider.dart'; | |
class ReactiveWidget extends StatefulWidget { | |
@override | |
State<StatefulWidget> createState() => ReactiveWidgetState(); | |
} | |
class ReactiveWidgetState extends State<ReactiveWidget> { | |
@override | |
Widget build(BuildContext context) { | |
return ChangeNotifierProvider<ProviderState>( | |
builder: (_) => ProviderState(), | |
child: ReactiveWidgetChild(), | |
); | |
} | |
} | |
class ReactiveWidgetChild extends StatelessWidget { | |
@override | |
Widget build(BuildContext context) { | |
return Consumer<ProviderState>( | |
builder: (_, state, child) { | |
return Center( | |
child: Text(state.value.toString()), | |
); | |
} | |
); | |
} | |
} | |
class ProviderState with ChangeNotifier { | |
int _value; | |
ProviderState() : _value = 0; | |
int get value => _value; | |
set value(int v) { | |
_value = v; | |
notifyListeners(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment