【发布时间】:2020-03-18 02:08:41
【问题描述】:
我正在使用有状态小部件,并且必须声明最终变量才能从另一个页面接收数据。但是,我声明的 int 变量之一必须在同一页面上再次更改,因此我删除了 Final 并且代码工作正常,但它警告我:
“信息:这个类(或这个类继承自的类)被标记为'@immutable',但它的一个或多个实例字段不是最终的”。
我需要从其他页面发送计数值
Navigator.of(context)
.push(MaterialPageRoute(builder: (BuildContext context) {
return EditScheduleScreen(
count: widget.count + 1,
);
}));
但是这个计数值在我发送到的页面中再次更新:
widget.count--;
因此我必须在没有 final 的情况下声明 int 值:
class EditScheduleScreen extends StatefulWidget {
int count;
EditScheduleScreen({
Key key,
this.count,
}) : super(key: key);
@override
_EditScheduleScreenState createState() => _EditScheduleScreenState();
}
这给了我警告。
这是我应该担心的事情,还是有办法改变这个 int 的值并保持它为 Final(因为它需要从不同的页面接收)?
【问题讨论】: