【源码篇】Flutter GetX深度剖析 | 我们终将走出自己的路(万字图文) (12)

界面层:页面顶节点套了一个EasyBindWidget,可以保证依赖注入实例可以自动回收

class EasyXEbxCounterPage extends StatelessWidget { final EasyXEbxCounterLogic logic = Easy.put(EasyXEbxCounterLogic()); @override Widget build(BuildContext context) { return EasyBindWidget( bind: logic, child: BaseScaffold( appBar: AppBar(title: const Text('EasyX-自定义Ebx刷新机制')), body: Center( child: Ebx(() { return Text( '点击了 ${logic.count.value} 次', style: TextStyle(fontSize: 30.0), ); }), ), floatingActionButton: FloatingActionButton( onPressed: () => logic.increase(), child: Icon(Icons.add), ), ), ); } }

效果图

easy_x_ebx

总结

这俩种刷新模式,含金量高的,应该还是自动刷新的机制,思路很有趣,响应式变量和刷新控件通过静态变量的形式建立起联系,cool!又是一种骚操作!

这俩套状态管理机制,我都给出了对依赖注入对象,自动回收的解决方案,希望对大家的思路有所启迪。

最后

终于把最后一篇GetX的原理剖析写完了(只针对GetX状态管理这部分内容),了了一桩心事。。。

有些流程比较绕,特地画了一些图,图文并茂总会让人心情愉悦嘛......

image-20210713163552831

如果大家认真看完了整片文章,可能会发现:状态管理+依赖注入,可以使得使用场景大大的被拓展

GetBuilder的自动回收就是借助依赖注入,无缝获取注入实例,从而实现自动回收的操作

而且GetBuilder还无需额外传参数!

整篇文章写下来,我觉得真的尽力了

从InheritedWidget到路由

然后到依赖注入

再就是俩种状态框架原理剖析

最后依据俩种刷新机制,手搓俩套状态管理框架

也算是层层递进的将其中的知识,一点点的展示在大家的面前,希望可以帮到各位!!!

系列文章 + 相关地址

文章中Demo的Github地址:flutter_use

Flutter GetX使用---简洁的魅力!

源码篇:Flutter Bloc背后的思想,一篇纠结的文章

源码篇:Flutter Provider的另一面(万字图文+插件)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgyyyj.html