为什么我们需要在运行时延迟初始化类,而不是在flutter中直接在编译时初始化



我想知道,如果我们创建一个类的实例,我们会先创建该实例,然后在initState上赋值之前将其标记为late?为什么我们不直接在编译时给它赋值呢?

//what is the difference of this
SampleClass _sample = SampleClass();
//with this?
late SampleClass _sample;
void initState(){
super.initState():
_sample = SampleClass();
}

SampleClass依赖于上下文时,初始化必须在initState中进行,也就是小部件插入树时,否则不需要延迟初始化。

最新更新