Если виджет объявлен как const, распространяется ли он на его дочерний элемент? - PullRequest
0 голосов
/ 03 мая 2020

Есть ли практическая разница между этими двумя?

Если виджет объявлен как const, распространяется ли он на него как дочерний?

Container(
    height: tabHeight,
    child: const Tab(
      icon: Icon(Icons.settings),
    ),
),

против

Container(
    height: tabHeight,
    child: const Tab(
      icon: const Icon(Icons.settings),
    ),
),

Ответы [ 2 ]

2 голосов
/ 03 мая 2020

Да Ключевое слово const является необязательным, когда оно очевидно.

Например, нам не нужно писать:

const example = const Something(const Other());

Мы можем просто написать:

const example = Something(Other());
0 голосов
/ 03 мая 2020

Вы можете опустить ключевое слово const при инициализации выражений объявления const. Ниже приводится официальная документация:

Ключевое слово const предназначено не только для объявления константных переменных. Вы также можете использовать его для создания постоянных значений, а также для объявления конструкторов, которые создают постоянные значения. Любая переменная может иметь постоянное значение.

var foo = const []; Вы можете опустить const в выражении инициализации объявления const. Подробнее см. НЕ используйте const с избыточностью.

foo = [1, 2, 3]; // Was const []

Надеюсь, это поможет.

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