For Example:
`import 'package:flutter/material.dart';
class DEMOWidget extends StatelessWidget {
final String text;
//数据可以通过构造方法传递进来
DEMOWidget(this.text);
@OverRide
Widget build(BuildContext context) {
//这里返回你需要的控件
//这里末尾有没有的逗号,对于格式化代码而已是不一样的。
return Container(
//白色背景
color: Colors.white,
//Dart语法中,?? 表示如果text为空,就返回尾号后的内容。
child: Text(text ?? "这就是无状态DMEO"),
);
}
}`
这段直接粘贴到main.dart 里加上void main 要报错,我改成了这个
`import 'package:flutter/material.dart';
String text = "这就是无状态Demo";
void main() => runApp(new DEMOWidget(text));
class DEMOWidget extends StatelessWidget {
final String text;
DEMOWidget(this.text);
@OverRide
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Welcome to Flutter',
home: new Scaffold(
appBar: new AppBar(
title: new Text('Welcome to Flutter'),
),
body: new Container(
//白色背景
color: Colors.white,
//Dart语法中,?? 表示如果text为空,就返回尾号后的内容。
child: Text(text ?? "这就是无状态DMEO"),
),
),
);
}
}
`
就是有一点没看明白,text在这个类里面是必须赋值的,为什么
child: Text(text ?? "这就是无状态DMEO"),
要这样写,小弟求解答