当我创建一个简单的基本应用程序(如下面的应用程序)时,我会创建一个非显式的StatelessWidget
吗?
import 'package:flutter/material.dart';
void main() {
return runApp(
MaterialApp(
home: Scaffold(
body: Text('HI),
),
),
);
}
最佳答案
它不是在创建非显式窗口小部件。因此,它既不是无状态的也不是有状态的。
runApp function只会获取MaterialApp
小部件并“将其附加到屏幕上”,因此您并不是一路创建小部件,而只是使用已经存在的小部件。您的小部件树将从MaterialApp
本身开始。
从概念上讲,我也要说,由于您没有空间来处理小部件的状态和/或变量,因此可以将其称为StatelessWidget
,因为您无法更改所构建内容的状态。
在您的示例中,即使您的应用程序树中确实有StatefulWidgets
,您也无法公开该树的状态,没有变量,没有控件,也没有管理。您只是将其他小部件直接传递到您的应用程序。您实际上是将一个小部件树(带有其子级的MaterialApp
)引用到runApp函数。