-1

我有这段代码打算在颤动的无状态小部件中使用。

const String default_question = 'the question';

class Trial {
  final String question;
  const Trial.standard() :
        question = default_question;
}

我这样使用它:

final Trial _trial = const Trial.standard();

这有效。但是不使用 const 是行不通的。我想了解为什么 const 在这里是必要的。因为我打算在未来使用一个不固定的构造函数。

- - - - - -编辑 - - - - - - - -

所以我对这个问题进行了更深入的研究。我的 IDE 将错误链接到sauce。这让我意识到这个问题与试用无关,而是与我正在使用的无状态小部件的构造函数有关。我为无状态小部件使用的构造函数是一个常量构造函数,我认为这是使用我的 IDE 创建一个新的无状态小部件的默认配置。所以我刚刚删除了 const 关键字,现在我可以在该小部件中声明不是常量的变量。

我不确定无状态小部件的非常量构造函数在颤振中是否是不好的做法,但现在它对我来说很有意义。

4

1 回答 1

2

cosnt在颤振框架中标记widgetsvariables仅构建一次,这有助于提高性能。

这是由Flutter_lints包完成的,该包默认添加pubspec.yaml到最新的 Flutter 版本中。您可以在flutter 官方网站上查看文档。

如果您不想使用这个东西,只需从pubspec.yaml

干杯!

于 2022-01-25T15:28:05.410 回答