1

我需要在一个freezed类中有一个计算值

  factory MyState({
    ///....
    @Default(UniqueKey()) UniqueKey key,
  }) = _MyState;

这是不允许的。我怎么能绕过这个。在 inital() 中设置它是不可能的。

谢谢

4

1 回答 1

1

虽然我不知道这是否是惯用的,但以下代码段应该为您提供解决方案:

factory MyState._internal({
  UniqueKey key,
}) = _MyState;

factory MyState({
  UniqueKey? key,
}) {
  return MyState._internal(key: key ?? UniqueKey());
}
于 2021-04-05T18:06:47.133 回答