flutter_riverpod状态管理的使用

// 创建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'),
    );
  }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。