【问题标题】:Typescript error when declaring array: Type 'Report[]' is missing the following properties from type …声明数组时出现打字稿错误:类型“报告 []”缺少类型中的以下属性...
【发布时间】:2019-07-17 04:49:57
【问题描述】:

我有这个虚拟数据,我想输入:

export default interface Report {
  id: number;
  name: string;
  lastName: string;
}

export const dummyReports: Report[] = [
  { id: 23, name: 'Carlo', lastName: 'Magno' },
  { id: 11, name: 'Albert', lastName: 'Camus' },
  { id: 51, name: 'Oliver', lastName: 'Khan' }
];

export const dummyReportsArr: Report[] = [
  dummyReports, // THIS IS THE LINE THROWING THE ERROR
  { ...dummyReports, id: 9000 }
];

Type 'Report[]' is missing the following properties from type 'Report': id, name, lastName ts(2739)

我错过了什么?

【问题讨论】:

  • dummyReportsReport[] (Array) 类型,您正试图将其放置在预期单个 Report 的位置

标签: javascript reactjs typescript ecmascript-6


【解决方案1】:

您已将dummyReportsArr 设置为Report[] 类型。但是,您正在将这个二维数组分配给它

dummyReportsArr = [
  [ {}, {}, {} ], // dummyReports
  { 0: {}, 1: {}, 2: {}, id: 9000 } // an object with numeric indices
]

数组中的第一项是dummyReports 数组。第二个是对象。在{} 中传播一个数组会创建一个对象,其中数组的索引作为对象的键。这些都不是Report 类型的

【讨论】:

    猜你喜欢
    • 2023-02-07
    • 2017-12-22
    • 2022-01-17
    • 2020-05-23
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    • 1970-01-01
    • 2021-01-05
    相关资源
    最近更新 更多