【发布时间】:2020-08-20 10:54:23
【问题描述】:
我在couple places 中读到,扩展 Flutter 小部件是一种反模式。这是真的吗?
我使用小部件子类化来减少嵌套,方法是对要删除的小部件进行子类化并将其小部件放入其构造函数中,就像这样
class Foo extends FormBuilder {
Foo() : super (
// bunch of widgets here
);
}
扩展无状态小部件似乎更受欢迎,但它向树中添加了几行代码和一个小部件,这不是我的偏好:
class Foo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return FormBuilder(
// bunch of widgets here
);
}
我读过从函数返回小部件是一种反模式,因为它breaks rendering optimization。我的第一种方法是否同样有隐藏的副作用?即,它真的是一种反模式吗?
【问题讨论】:
-
我认为这与这样一个事实有关,如果要渲染某些东西,最好嵌套多个
build()方法,而不是调用另一个 Widget 的build()函数。我不认为它已经被测试到被证明是坏的程度。但如果是负责代码do not recommend it的人,我也不推荐。
标签: flutter subclass anti-patterns