// 创建provider
final tProvider = StateProvider<int>((ref) {
return 0;
});
Widget build(BuildContext context, WidgetRef ref) {
final num = ref.watch(tProvider);//watch获取值
return TextButton(
onPressed: () {
ref.read(tProvider.notifier).state++;//read修改值
ref.listen<int>(tProvider, (previous, next) {
//tProvider要监听的provider
//previous旧值,状态变化前,第一次监听时为null
//next新值,状态变化后(当前的值)
//listen一般在build方法里调用,确保在widget初始化时就会开始监听
//...要做的操作,如显示弹框、toast等
});
},
child: Text('num:$num'),
);
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。