我在转换这个类时遇到了一个小问题,freezed
因为不可能有一个不是常量的默认值,所以该行DateTime nocache= DateTime.now()
不可能转换成@Default(DateTime.now()) DateTime nocache
这里是完整的代码
import 'package:equatable/equatable.dart';
abstract class DynamicLinkState extends Equatable {
const DynamicLinkState();
@override
List<Object> get props => [];
}
class DynamicLinkInitial extends DynamicLinkState {
@override
String toString() => 'DynamicLinkInitial';
}
class DynamicLinkToNavigate extends DynamicLinkState {
final String path;
final DateTime nocache = DateTime.now();
DynamicLinkToNavigate({this.path});
@override
List<Object> get props => [path, nocache];
@override
String toString() => 'DynamicLinkToNavigate';
}
我怎么能最终做到这一点?
附加上下文
我在nocache
这里使用了一个属性,因为bloc
它优化为不多次发送相同的事件,但在这种情况下这是一个有效的用例,因为我可能希望用户接收多次相同的动态链接。所以我们找到的解决方案就是通过传递一个不断变化的nocache
参数来使这种优化无效。
因此,对这个问题的有效解决方案也可能是简单地删除此解决方法以支持更可靠的解决方案。