创建小工具的正确方法



初级问题。。。Flutter材料说要扩展无状态或有状态的小部件类。。。但在教程中,有几个示例中小部件没有定义为类。

Widget buttonSection = Container(
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
...
],
),
);

https://flutter.dev/docs/development/ui/layout/tutorial#step-0-创建基于应用程序的代码

class ButtonSection extends StatelessWidget {
@override
Widget build(BuildContext context) {
return (...)
}

简单的小部件应该只是类中的变量吗?或者它们自己的扩展有状态或无状态父类的类。

您在顶部代码上创建instance of a class,在底部代码上创建class。这就像你在顶部有一个项目,在底部有一个蓝图代码。

这是非常主观的,用来决定如何拆分小部件。以下是我如何划分和创建小部件。

  1. 总会有一个屏幕,它由多个交互式(按钮(和非交互式(文本、图像(元素组成
  2. 通常,如果你在处理一个产品/项目,你会有一个UI。因此,可以创建可在整个应用程序中使用的通用小部件
  3. 现在是窗口小部件,它们是特定于屏幕的窗口小部件不会在其他屏幕上使用
  4. 比方说,你有一个带有旋转木马的屏幕,你可以为它创建一个单独的类,以及该类中与它相关的所有功能
  5. 对于屏幕上的小部分(如列表视图中的项目(,您可以创建一个类函数_renderUserItem(String name, String mail, String avatar, bool isActive),并根据您的UI需求返回一个ContainerListViewTile()
  6. build()函数中调用此函数

结论-

  • 将较大的元素保留在一个单独的类中以处理任何功能
  • 任何小(50行代码(且足够静态的UI部分都可以保存在同一个类中

PS-它本质上是主观的。但是,让你的小部件尽可能地呆着是明智的。

最新更新