今天学习flutter,但是在写组件的时候突然出现了
This class (or a class which this class inherits from) is marked as '@immutable', but one or more of its instance fields are not final:
代码如下:
class MyPersonalPage extends StatelessWidget {
String userName;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('My '+ userName+'\'s Home Page')),
body: ListView(
children: <Widget>[
Container(
child: Text("sssss1"),
),
Container(
child: Text("sssss2"),
),
Container(
child: Text("sssss3"),
),
Container(
child: Text("sssss4"),
),
Container(
child: Text("sssss5"),
),
RaisedButton(
child: Text("返回", style: TextStyle(color: Colors.white)),
color: Colors.green,
onPressed: () {
Navigator.pop(context);
})
],
),
);
}
}
但是我在网上都没有找到对应的解决办法,但是我看了下官方的demo,发现了解决办法,就是在这个类中加入一个构造器即可,代码如下
class MyPersonalPage extends StatelessWidget {
const MyPersonalPage({Key key, this.userName}) : super(key: key);
final String userName;
//..... your code
}
此时ide就不会出现刚刚的下划线了。