StatelessWidget

StatelessWidget 是无状态控件,没有自己的私有数据,是纯展示型的控件,基本定义过程如下:

  1. class MyMidget extends StatelessWidget {
  2. // 构造函数:
  3. // 其中的 this.title 定义的是命名参数
  4. // @required 用来规定某个数据在初始化的时候是必须要提供的,否则会报错。
  5. MyApp({Key key, @required this.title}) : super(key: key);
  6. // final:用于修饰变量,表示单赋值(single-assignment),
  7. // 使用final修饰的变量必须进行初始化,一旦被赋值之后,不能够再次被赋值,否则编译会报错。
  8. final String title;
  9. // build 函数相当于 react.js 中的 render 函数
  10. // 必须 return 一个 UI 结构,用来构建当前控件对应的UI界面
  11. // 在 StatelessWidget 控件中,build 函数是必须的
  12. @override
  13. Widget build(BuildContext context) {
  14. return Text(title);
  15. }
  16. }

基本使用过程如下:

  1. void main() => runApp(
  2. // MyApp() 函数的调用,是 new MyApp() 的简写形式,
  3. // 其中 title 是构造函数的参数,
  4. // 且必须传递 title 数据,因为它已被标记为 @required 必填项
  5. MyApp(title: 'Flutter初体验鸭')
  6. );