Flutter EventBus使用心得

本文分享了在Flutter中使用EventBus的心得体会,尤其强调了在TabView切换时进行消息传递的优势。通过EventBus进行状态保持以防止视图被系统释放,确保数据正确展示。在使用中应注意状态保持的方法,如使用有状态控件、设置build方法,并采用单例模式避免重复绑定事件。同时,展示了如何利用EventBus实现菜单选择后的消息传递,以及接收到消息后触发其他视图更新的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

EventBus属于事件类插件,最近使用觉得相当不错,特别是在tabview切换上边拿来做消息传递,切换视图让他去网络请求数据展示,我全部用的有状态控件,使用中发现有几个地方需要注意:
1.有状态控件须要做状态保持,否则tabview在切换后原来的视图将会自己释放,安卓内部节约内存机制决定的,如果不保持,下次切过去视图都没有就去呈现数据肯定会报错,所以必须得把视图保持起来不让系统给释放掉。
状态保持方法 :
1.状态加上

with AutomaticKeepAliveClientMixin

在这里插入图片描述
2.build加上

super.build(context);

在这里插入图片描述
2.初始化时最好做成单例,否则容易切换时多次绑定,加个变量判断一下绑定过了就不再绑定,多次绑定将会多次触发,
我是把他放在一个公共变量里边先给他置为false 执行后置为true.
我这个是接收菜单选择后发来的消息,收到消息请求数据后又发一个消息让另一个视图刷新,消息可以定义一个,发不同的内容就可以了
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值