Flutter:我应该使用变量还是为子窗口小部件创建一个新类?

zzoitvuj  于 2022-12-30  发布在  Flutter
关注(0)|答案(1)|浏览(160)

我目前正在为我的项目做一个 Jmeter 板。我的支架体使用了一个列表视图。他的子对象应该是新的类还是变量?
示例:
我的 Jmeter 板:

@override
  Widget build(BuildContext context) {
    return Scaffold(
      body: ListView(
        children: [
          const DashboardHeader(),
          DashboardSearch,
        ],
      ),
    );
  }

作为类的 Jmeter 板标题:

class DashboardHeader extends StatelessWidget {
  const DashboardHeader({super.key});

  @override
  Widget build(BuildContext context) {
    return SizedBox(
      height: MediaQuery.of(context).size.width,
      child: CarouselSlider(
        options: CarouselOptions(
          initialPage: 1,
          aspectRatio: 1,
          enableInfiniteScroll: true,
          autoPlay: true,
          autoPlayInterval: const Duration(seconds: 6),
        ),
        items: const [Text("Welcome"), Text("NEWS")],
      ),
    );
  }
}

Jmeter 板作为变量搜索:

Widget DashboardSearch = Padding(
  padding: const EdgeInsets.all(20.0),
  child: Column(
    children: const [
      Text("How can I help you?"),
      TextField(
        decoration: InputDecoration(suffixIcon: Icon(Icons.search)),
      ),
    ],
  ),
);
mwg9r5ms

mwg9r5ms1#

您可以将 Jmeter 板标题用作类
理由:
当我们有一个大的布局时,我们通常会使用方法来拆分每个小部件,但是每当我们将一个小部件提取为方法时,它就被认为是一个非常糟糕的模式(反模式),原因如下:
1.如果您在一个有状态的小部件中,并且触发了设置状态,那么它也将刷新我们在方法中拥有的小部件,这会导致浪费CPU周期。
1.如果您在dart developer tools中看到小部件树,您会注意到您无法区分所提取的方法。
因此,始终在无状态/有状态Widget中提取,而不是在方法中返回。
希望它解决了你的疑问。

相关问题