【发布时间】:2021-01-13 23:04:37
【问题描述】:
我的代码有效。这更多是关于惯例/良好做法的问题,所以如果您不想浪费时间,请不要阅读。
我知道当你想在 Flutter 中制作自己的自定义小部件时,通常应该扩展 StatelessWidget/StatefulWidget。
但是,改用返回 StatelessWidget 的函数有什么缺点吗?
我将举一个我创建的自定义 Widget 的示例(以两种方式):
功能:
Widget flagImage(String imagePath) {
return ClipRRect(
borderRadius: BorderRadius.circular(7),
child: Image.asset(
imagePath,
width: 60,
height: 40,
fit: BoxFit.fill,
),
);
}
继承:
class FlagImage extends StatelessWidget {
String imagePath;
FlagImage(this.imagePath);
@override
Widget build(BuildContext context) {
return ClipRRect(
borderRadius: BorderRadius.circular(7),
child: Image.asset(
imagePath,
width: 60,
height: 40,
fit: BoxFit.fill,
),
);
}
}
我可以将它们作为孩子插入到另一个小部件中,例如分别为 flagImage(imagePath) 和 FlagImage(imagePath)。
我有什么理由不应该使用返回一个小的、简单的 StatelessWidget 的函数?
对于非常小的 Widget,我更喜欢使用该功能,即少一些 LOC,只是我个人的喜好。
【问题讨论】:
标签: flutter conventions custom-widgets