在 Flutter 中,如果我将方法放在小部件的构建方法内部或外部,是否有区别?

JDa*_*lri 6 dart flutter

我从 Flutter 开始,并有一些关于放置我的方法的正确位置的问题,在小部件的构建方法内部还是外部?

示例:我有我的小部件并创建了一个方法 showText。如果我将此方法放置在小部件的构建方法内部或外部(作为类本身的方法),是否有区别?

似乎无论哪种方式都有效。

谢谢

Mar*_*cel 3

如果您有一些可重用的代码,请考虑将其外包到自己的Widget.

如果样板代码太多,考虑辅助构建方法是一个有效的选择。对于 Dart 编译器来说,将这些方法放在哪里并不重要,但为了减少缩进和提高可读性,我建议将它们放在类中。

另外,请考虑命名方法_build...。这让读者清楚地知道它们是辅助构建方法。下划线还确保如果您更改原始build方法并且辅助方法变得未使用,分析器会向您发出警告。

这是一个例子:

class A extends StatelessWidget {
  Widget build(BuildContext context) {
    return Column(
      children: [
        _buildTitle(context),
        _buildContent(context),
      ],
    );
  }

  Widget _buildTitle(BuildContext context) { ... }
  Widget _buildContent(BuildContext context) { ... }
}
Run Code Online (Sandbox Code Playgroud)