Во Flutter, есть ли разница, если я размещу свои методы внутри или вне метода сборки виджета? - PullRequest
0 голосов
/ 22 апреля 2020

Я начал с Flutter и получил несколько вопросов о том, где находится правильное место для размещения моих методов, внутри или вне метода сборки виджета?

Пример: у меня есть свой виджет и я создаю метод showText. Есть ли разница, если я помещу этот метод в метод сборки виджета или вне его (как метод самого класса)?

Кажется, он работает в любом случае.

Спасибо

1 Ответ

1 голос
/ 22 апреля 2020

Если у вас есть какой-то фрагмент кода, который можно использовать повторно, рассмотрите возможность передачи его на свой собственный 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) { ... }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...