am_state 0.0.3 am_state: ^0.0.3 copied to clipboard
A state-management and data providing library.
am_state #
A state-management and data providing library.
---No stateful widgets needed---
Getting Started #
To initialize data provider #
import 'package:am_state/am_state.dart';
final dataProvider = AmDataProvider<int>(
initialData: 0,
providerId: 'dataP_01',
);
// OR
final dataProvider = AmDataProvider<int>();
// You can't access this with id and dying if disposed
// if you added a providerId the provider won't die
To get data anywhere after initializing the provider #
int? num = AmDataProvider<int>.of('providerId').data;
To Refresh widgets if data changed #
class Example extends StatelessWidget {
const Example({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container(
child: AmRefreshWidget<int>(
amDataProvider: AmDataProvider<int>.of('providerId'),
builder: (ctx, value) {
return Text(
'$value',
);
},
),
);
}
}
Note: you could use one provider for multiple (AmRefreshWidget)s
#
To change the provider data without refresh states #
dataProvider.silentDataSet = dataProvider.data! + 1;
// OR
AmDataProvider<String>.of('providerId').silentDataSet = 'any data';
To change provider data with refresh states #
dataProvider.data = dataProvider.data! + 1;
// OR
AmDataProvider<String>.of('providerId').data = 'Some Data';
To instantinously excute some code and then refresh states #
dataProvider.activeFunction = () {
//...Some Code....instantinously invoked then states refreshed
};
// OR
AmDataProvider<String>.of('providerId').activeFunction = () {
//...Some Code....instantinously invoked then states refreshed
};
Please star my repo and follow me 😍 #
https://github.com/AmrMAM/FlutterPackage_am_state