NgRx 8 - 检测到 class 的不可序列化状态

NgRx 8 - Detected unserializable state for class

我知道 NgRx 喜欢状态中的普通对象,但为什么不喜欢这种状态呢?

export class EventRecord {
  Id = -1;
  Title = "";

  private occurred?: string = undefined;
  get OccurredDate(): string {
    return this.occurred ? this.occurred : "";
  }
  set OccurredDate(value: string) {
    const mValues = moment(value);
    if (mValues.isValid()) {
      this.occurred = mValues.toISOString();
    } else {
      throw Error("Invalid date value");
    }
  }

  PictureUri?: string;
}

这里有什么是不可序列化的?

我认为问题在于您无法序列化也具有附加行为(getter 和 setter)的 class。 您只能序列化纯数据 class(classes 没有行为,只有普通属性)。