Flutter 在使用冻结实现模型时,常量创建的参数必须是常量表达式

Flutter 在使用冻结实现模型时,常量创建的参数必须是常量表达式,flutter,flutter-bloc,freezed,Flutter,Flutter Bloc,Freezed,我在使用冻结的转换这个类时遇到了一个小问题,因为不可能有一个非常量的默认值,所以行DateTime nocache=DateTime.now()不可能转换为@default(DateTime.now())DateTime nocache 这里是完整的代码 import'包:equalable/equalable.dart'; 抽象类DynamicClinkState扩展了Equalable{ 常量dynamicClinkState(); @凌驾 列表获取道具=>[]; } 类DynamicCli

我在使用冻结的
转换这个类时遇到了一个小问题,因为不可能有一个非常量的默认值,所以行
DateTime nocache=DateTime.now()
不可能转换为
@default(DateTime.now())DateTime nocache

这里是完整的代码

import'包:equalable/equalable.dart';
抽象类DynamicClinkState扩展了Equalable{
常量dynamicClinkState();
@凌驾
列表获取道具=>[];
}
类DynamicClinkInitial扩展了DynamicClinkState{
@凌驾
字符串toString()=>“dynamicLinkinInitial”;
}
类DynamicLinkToNavigate扩展了DynamicLinkState{
最终字符串路径;
final DateTime nocache=DateTime.now();
DynamicLinkToNavigate({this.path});
@凌驾
列表获取道具=>[path,nocache];
@凌驾
字符串toString()=>“DynamicLinkToNavigate”;
}
我最终如何才能做到这一点

附加上下文 我在这里使用了一个
nocache
属性,因为
bloc
被优化为不多次发送同一事件,但在这种情况下,这是一个有效的用例,因为我可能期望用户多次接收同一动态链接。因此,我们找到的解决方案就是通过传递一个总是变化的
nocache
参数来使这个优化无效


因此,这个问题的一个有效解决方案也可能是简单地删除此变通方法,而采用更为可靠的解决方案。

您能在问题中添加冻结的代码吗