在“initState”内或在类定义下方初始化变量?

Era*_*han 5 dart flutter

我想知道当我知道StateFlutter中类中变量的初始值时,我应该使用变量定义还是内部来初始化它initState方法。什么更好,为什么?

第一种方法:

class _SampleState extends State<Sample> {
  String _foo = 'FOO';

  @override
  void initState() {
    // Do some other stuff
    super.initState();
  }

  ...
}
Run Code Online (Sandbox Code Playgroud)

第二种方法:

class _SampleState extends State<Sample> {
  String _foo;

  @override
  void initState() {
    _foo = 'FOO';
    // Do some other stuff
    super.initState();
  }

  ...
}
Run Code Online (Sandbox Code Playgroud)

Sag*_*rya 5

我认为你最初可以在不使用 initstate() 的情况下定义它,但是如果你为它分配任何值,那么就会出现 initstate,你可以在其中处理 api 调用或任何其他内容,然后为它分配值。有关更多详细信息,请查看此链接,其中 Remi 进行了解释:

在 Flutter StatefulWidget 中给 initState 内部的变量赋值与不给变量赋值有什么区别吗?