面试题答案
一键面试Stateless Widget适用场景
- 静态展示页面:页面内容不随用户操作或时间等因素变化,例如简单的介绍页、条款说明页等。这些页面只负责展示固定的信息,无需状态管理。
- 无交互或简单交互组件:如导航栏中的标题、图标等,它们不依赖内部状态改变外观,可能仅响应外部传入的属性变化。比如常见的底部导航栏图标,其显示样式仅取决于传入的选中或未选中状态,本身无额外状态变化。
创建包含文本和按钮的Stateless Widget示例
import 'package:flutter/material.dart';
class MyStatelessWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Column(
children: [
Text('这是一段文本'),
ElevatedButton(
onPressed: () {
print('按钮被点击了');
},
child: Text('点击我'),
)
],
);
}
}
在上述代码中,MyStatelessWidget
继承自 StatelessWidget
,在 build
方法中,使用 Column
垂直排列了一个 Text
组件和一个 ElevatedButton
按钮组件。当按钮被点击时,会在控制台打印出“按钮被点击了”。