将数据从他的 Statefulwidget 传递到 State
Passing data to a State from his Statefulwidget
这是我的代码,我想从 StatefulWudget 访问“initialValue”属性,但由于某种原因在 counter = widget.initialValue
中标记了一个错误
the image with the error from vs code。
我正在学习一门课程,但我不知道新版本是否有所变化,导致我发现的所有问题都使用相同的代码。
class MyCounter extends StatefulWidget{
final int initialValue;
const MyCounter({Key? key, this.initialValue = 0}) : super(key: key);
@override
State createState(){ //puede ser lamda => MyCounterState();
return MycounterState();
}
}
class MycounterState extends State{
int counter = 0;
@override
void initState() {
// TODO: implement initState
super.initState();
counter = widget.initialValue;
}
...
或者我在代码的不同部分有错误吗?
对于有同样问题的人,解决方案(在 discord 官方 flutter 服务器中找到)是
“您的状态必须有一个包含小部件的类型参数”
class MyCounter extends StatefulWidget{
final int initialValue;
const MyCounter({Key? key, this.initialValue = 0}) : super(key: key);
@override
State<MyCounter> createState(){ //puede ser lamda => MyCounterState();
return MycounterState();
}
}
class MycounterState extends State<MyCounter>{
int counter = 0;
@override
void initState() {
// TODO: implement initState
super.initState();
counter = widget.initialValue;
}
只需将 MyCounter class 的“createState()
”和 MyCounterState [=19 的“extends State{
”中的 State
更改为 State<MyCounter>
=]
这是我的代码,我想从 StatefulWudget 访问“initialValue”属性,但由于某种原因在 counter = widget.initialValue
中标记了一个错误
the image with the error from vs code。
我正在学习一门课程,但我不知道新版本是否有所变化,导致我发现的所有问题都使用相同的代码。
class MyCounter extends StatefulWidget{
final int initialValue;
const MyCounter({Key? key, this.initialValue = 0}) : super(key: key);
@override
State createState(){ //puede ser lamda => MyCounterState();
return MycounterState();
}
}
class MycounterState extends State{
int counter = 0;
@override
void initState() {
// TODO: implement initState
super.initState();
counter = widget.initialValue;
}
...
或者我在代码的不同部分有错误吗?
对于有同样问题的人,解决方案(在 discord 官方 flutter 服务器中找到)是 “您的状态必须有一个包含小部件的类型参数”
class MyCounter extends StatefulWidget{
final int initialValue;
const MyCounter({Key? key, this.initialValue = 0}) : super(key: key);
@override
State<MyCounter> createState(){ //puede ser lamda => MyCounterState();
return MycounterState();
}
}
class MycounterState extends State<MyCounter>{
int counter = 0;
@override
void initState() {
// TODO: implement initState
super.initState();
counter = widget.initialValue;
}
只需将 MyCounter class 的“createState()
”和 MyCounterState [=19 的“extends State{
”中的 State
更改为 State<MyCounter>
=]