Flutter Widget嵌套深,修改代码麻烦?
背景
许多人初次接触Flutter时非常不习惯,比起使用VUE开发的界面、代码、样式分离,代码清晰明了,Flutter开发的界面、代码、样式都混在一起,尤其是界面往往需要许多组件组合在一起实现,这个时候如果界面够复杂,会出现可怕的嵌套地狱,非常不利于维护。
解决方法
解决Flutter Widget地狱的方法有很多种,根据我的开发经验,着重介绍以下几种方法。
- 将组件转化为方法,这一种方式非常常用。
- 将组件转化为
StatelessWidget
或者StatefulWidget
,我们习惯只把重复用到的组件做封装,实际上这样写更好,这个我会在后面提到。 - 第三种灵感来自于掘金的一篇文章《Flutter嵌套深?扩展函数了解一下》,有兴趣的朋友可以看一下。
相信很多人没注意到,dart 从2.6.0开始支持扩展函数了,也就是说我们可以给dart 类型扩展一些功能,让我们的代码更利于维护。
代码
下面是我写的两种扩展方法,主要用于参数频繁改动的页面,每个人习惯不同,你也可以把参数声明在类名开头,我更倾向于让参数和代码挨在一起,方便增删改。<