我在网上的一些例子中注意到,扩展了StatefulWidget的类有带有final标记的实例变量.为什么?

推荐答案

因为StatefulWidget继承Widget(标记为@immutable),所以StatefulWidget的任何子类也必须是不可变的(即所有字段都是final).

如果使用非最终字段创建StatefulWidget个子类,将导致以下DART分析警告:

信息:该类继承自标记为@immutable的类,并且

以及如何使用StatefulWidget documentation中的StatefulWidget的说明:

StatefWidget实例本身是不可变的,并存储其 变量创建的单独State对象中的可变状态 方法,或在该状态订阅的对象中为 示例Stream或ChangeNotifier对象,其引用是 存储在StatefWidget本身的最终字段中.

Flutter相关问答推荐

Flutter -如何从布局填充(对称水平)中排除小部件?

下拉图标未居中

TextFormfield无法与自动路由一起正常工作

FOR回路中的Flutter 模型

如何将带有参数的函数传递给FIFTH中的自定义小部件

抖动问题:检测到0个或2个或更多具有相同值的[DropdownMenuItem]

在带有 flutter 的 Native Android 中,EventChannel.EventSink 始终为 null

Dart 和 flutter 错误无法在您的 PATH 中找到 git

如何使Flutter 边框宽度在外面而不是在里面?

我无法找到修复此错误的位置,指出无法使用静态访问来访问实例成员

在Flutter中为容器实现线性渐变背景动画

Flutter列顶部和底部出现不必要的边距问题

更改 flutter listview 中的布局

如何在 Flutter 中的 BackdropFilter.blur 中制作一个 100x100 的清晰孔

如何在 flutter 中同时使用 ButtonStyle() 和 ElevatedButton.styleFrom() ?

如何流畅切换画面?

如何将 List 转换为 String []?

避免长单词中断

Flutter:整个判断整个应用生命周期的通用类

Flutter Firebase:如何判断返回值是否是特定对象