我正在学习抖动,并遇到以下代码:
class MyStatelessWidget extends StatelessWidget {
final String name;
MyStatelessWidget(this.name);
@override
Widget build(BuildContext context) {
return Text('Hello, $name!');
}
}
对不起,我想对上面的代码提出一些问题。首先,为什么需要使用@override,也就是说,我知道方法重写是必需的,但是确实像StatebuildWidget这样的build(){}定义了build方法,因此我们需要重写它并添加一些逻辑吗?其次,这里Widget build
小部件是否表示内部版本返回小部件?第三,为什么我们需要在build(BuildContext context)
处使用BuildContext?
答案 0 :(得分:0)
上下文
从文档中,BuildContext是:
小部件树中小部件位置的句柄。
context是一个BuildContext实例,该实例将传递给小部件的生成器,以使其知道它在应用程序的小部件树中的位置。
使用继承的窗口小部件时,一种常见用法是将其传递给of方法。
例如,调用Something.of(context)会返回相对于树中最接近的小部件的Something,该小部件可以为您提供Something。
构建方法
构建方法是必需的,因为它描述了此小部件所代表的用户界面的一部分。框架在许多不同的情况下都调用此方法。
上了解有关构建方法的更多信息无状态小工具
不需要可变状态的小部件。
无状态窗口小部件是通过构建其他更详细描述用户界面的窗口小部件的星座来描述用户界面的一部分的窗口小部件。 在Stateless widget
上了解有关无状态窗口小部件的更多信息。我希望这会有所帮助。