【发布时间】:2021-12-05 02:53:22
【问题描述】:
在 Flutter 中,当初始化一个新的 stateful widget 时,默认是这样初始化的:
class WidgetName extends StatefulWidget {
const WidgetName({ Key? key }) : super(key: key);
@override
WidgetNameState createState() => WidgetNameState();
}
我看到了另一种初始化 statefulwidget 的方法,@override 略有不同。
class WidgetName extends StatefulWidget {
const WidgetName({ Key? key }) : super(key: key);
@override
State<WidgetName> createState() => WidgetNameState();
}
注意@override 方法中,WidgetNameState 变成了State<WidgetName>。 Flutter repo 中有一个解释:Link,但我无法理解它想说什么。
State<WidgetName> 究竟做了什么?它有什么好处吗?
我认为这是没有必要的,因为 WidgetNameState 在其类构造中已经从 State<WidgetName> 扩展而来。
class WidgetNameState extends State<WidgetName> {
@override
Widget build(BuildContext context) {
【问题讨论】: