Статические переменные в трепетных виджетах, плохая идея? - PullRequest
1 голос
/ 31 октября 2019

Является ли создание статических переменных в виджете флаттера плохой идеей? Например, если у меня есть верхний виджет с сохранением состояния и скаффолдом, и я передаю globalKey на скаффолд так:

class DemoScreen extends StatefulWidget {
  createState() => DemoScreenState();
}

class DemoScreenState extends State<DemoScreen> {
final scaffoldKey = GlobalKey<ScaffoldState>();

@override
  Widget build(BuildContext context) {
    return Scaffold(
      key: scaffoldKey,
      body: Builder(
        builder: (BuildContext context) {
          return ...

Я бы хотел получить доступ к этому ключу в виджете ниже в дереве, мог бы ясделать это final scaffoldKey static и получить доступ к этому ключу с помощью DemoScreenState.scaffoldKey? Или это плохая идея? И почему?

Почему вы также определяете свои окончательные переменные в DemoScreenState, а не в DemoScreen? Это просто, чтобы сделать ваш код более читабельным, не используя widget.scaffoldKey?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...