开发者问题收集

调度 store 操作时出错

2020-06-12
111

我有一个看起来像这样的模型。

    export class BankAccount {
  id?: string;
  accountNumber: string;
  accountTitle: string;
  userImage: string;
  currentBalance: number;
  email: string;
  phoneNumber: string;
  accountStatus: AccountStatus;
}
export enum AccountStatus {
  Active = 0,
  InActive = 1,
}

并且动作定义如下。

export const bankAccountCreating = createAction(
'[Create New Account Component] Account Creating',
 props<{ acct: BankAccount }>()
);

所以我有一个填充对象并分派的角度形式

 this.store.dispatch(bankAccountCreating({ acct: this.bankAccount }));

这里我收到错误

Detected unserializable action at acct

请注意,我没有此操作的减速器,因为它仅触发效果但不会更新存储。

在此处输入图片说明 更新 在此处输入图片说明

    export class BankAccount {
  id?: string;
  accountNumber: string;
  accountTitle: string;
  userImage?: string;
  currentBalance: number;
  email: string;
  phoneNumber: string;
  // accountStatus: AccountStatus;
}
export enum AccountStatus {
  Active = 0,
  InActive = 1,
}
2个回答

问题出在您的数据上。

您的类定义如下:-

 export class BankAccount {
  id?: string;
  accountNumber: string;
  accountTitle: string;
  userImage: string;
  currentBalance: number;
  email: string;
  phoneNumber: string;
  accountStatus: AccountStatus;
}

您正在将当前余额作为字符串分派,该字符串应该是一个数字,将accountStatus 作为字符串分派,该字符串需要一个accountstatus 对象,并且没有必需的用户图像字符串。

Aakash Garg
2020-06-12

某个类不可序列化,您可以使用接口来修复此问题或禁用可序列化性运行时检查。

有关更多信息,请参阅 文档

timdeschryver
2020-06-12