flutter实现封装控制器

尽意
2024-05-02 / 0 评论 / 40 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2024年05月02日,已超过265天没有更新,若内容或图片失效,请留言反馈。

在flutter中,尽管已经可以通过状态提升实现小部分的值传递,用回调函数的方法去修改父类的值,在父类调用setstate相当于重新rebuild了父类以及子组件的全部组件,而我们只需要看到子组件的内容发送改变,对此性能上无疑是浪费的。
所以需要对组件进行封装,使每次更新只涉及到需要的子组件,这也是性能优化以及解耦的一种解决方案。

新建一个controller类继承ChangeNotifier
lvoumvtx.png
私有化成员变量,设置get set方法,set数据的时候调用notifyListeners函数,通知框架需要更新到新的数据

通过ListenableBuilder组件监听需要更新的ChangeNotifier对象
lvourfcv.png
每次数据更新使调用set方法都会调用notifyListeners函数,在listenable又会监听到数据的改变,从而进行重绘。

1

评论 (0)

取消